Функция обмена Javascript

0

Я знаю, что это будет очень простой вопрос, но, пожалуйста, будьте терпеливы со мной, поскольку я только начал использовать js и jquery.

Вот моя часть кода -

<html>
<head>
</head>
<body>
<form method="post" action="module.php">
 <select name="dateRange" size="1" onchange="window.location=this.options[this.selectedIndex].value">
       <option value > Select Duration </option>
       <option value="/module.php/?dateRange=1d">Last 24 Hours</option>
       <option value="/module.php/?dateRange=2d">Last 2 Days</option>
       <option value="/module.php/?dateRange=1w">Last Week</option>
       <option value="/module.php/?dateRange=2w">Last 2 Weeks</option>
       <option value="/module.php/?dateRange=1m">Last Month</option>
       <option value="/module.php/?dateRange=3m">Last 3 Months</option>
       <option value="/module.php/?dateRange=6m">Last 6 Months</option>
       <option value="/module.php/?dateRange=1y">Last Year</option>
       <option value="/module.php/?dateRange=all">All</option>
</select>
</form>
</body>
</html>

теперь я не понимаю, как написать функцию onchange, где я могу выполнить весь мой запрос и отобразить свой результат, когда пользователь выбирает любое значение из раскрывающегося списка. И после этого я хотел бы сохранить выбранное значение в переменной и использовать это значение на той же странице?

4 ответа

2
Лучший ответ

Допустим, вы mySelect идентификатор mySelect на ваш выбранный вход.

Затем вы можете определить:

<script type="text/javascript">

$('#mySelect').on('change', function () {
    // do your thing
});

</script>

Вышеуказанное onchange событие onchange (jQuery) к вашему элементу и будет запускаться каждый раз, когда пользователь изменяет выбор.

  • 0
    Я попытался сделать то же самое ... Я создал скрипку. Она запускается один раз, а затем выдает ошибку. Но в браузере она не отображает предупреждающее сообщение, и, более того, когда я выбираю любую из опций из выпадающего списка, она меняет URL, но снова показывает "выберите продолжительность"
  • 0
    @ Сатиш Вы уверены? Ваша скрипка работает отлично :)
Показать ещё 6 комментариев
1

вы будете использовать обработчик

 <html>
 <head>
 </head>
 <body>

 <form method="post" action="module.php">
   <select name="dateRange" size="1" onchange="window.location=this.options[this.selectedIndex].value">
      <option value > Select Duration </option>
      <option value="/module.php/?dateRange=1d">Last 24 Hours</option>
      <option value="/module.php/?dateRange=2d">Last 2 Days</option>
      <option value="/module.php/?dateRange=1w">Last Week</option>
      <option value="/module.php/?dateRange=2w">Last 2 Weeks</option>
      <option value="/module.php/?dateRange=1m">Last Month</option>
      <option value="/module.php/?dateRange=3m">Last 3 Months</option>
      <option value="/module.php/?dateRange=6m">Last 6 Months</option>
      <option value="/module.php/?dateRange=1y">Last Year</option>
      <option value="/module.php/?dateRange=all">All</option>
 </select>
</form>

 <script>
 $( document ).ready(function() {

 $( "select" )
    .change(function () {
   alert('OnChange happened');
    //you can add your stuff here
    });
  })

 });
  </script>
</body>
</html>
  • 0
    это сбивает с толку ...
  • 0
    какая часть сбивает с толку? я попытался создать обработчик, используя тот же код формы, который указан в вопросе (я думаю, что пользователю будет проще понять, где и как он может добавить код обработчика), но я могу отредактировать его, если вы предпочитаете
0
Instead of this :
   <select name="dateRange" size="1" onchange="window.location=this.options[this.selectedIndex].value">
 Try This :
   <select name="dateRange" size="1" onchange="submit();">

And in 'MODULE.php' get the selected value using :
  $var = $_POST['dateRange'];
  echo $var;

And then write your query..
0

Я создал тебя скрипкой :)

оно использует

$('#duration').on('change', function () {
  var selectedEl = $('#duration').val();
    console.log(selectedEl);
});

Чтобы обнаружить изменение в select и val() чтобы получить выбранную опцию.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню