如何使用jQuery监听多个HTML选择

时间:2017-01-20 07:32:44

标签: jquery html ajax select

我有多个选择html标签(现在基本上是3个),我想使用Ajax请求使用选定的值**(html选择的标签组)过滤我的表...

ex)使用性别,位置,季节过滤

我的问题是如何完成这项工作,同时不会为每个选择标记复制我的代码?

4 个答案:

答案 0 :(得分:1)

您可以为任何下拉列表更改执行一个ajax:

$("select").on('change',function (){
  var selectedValue = $(" :selected").val();
  ajax({
    // Do post for submitting the value
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

执行此操作,您可以更改您拥有的任何选项,但仅在更改时发布一个。这也可以帮助您不复制用于发布的选择字段代码。

答案 1 :(得分:1)

您可以使用以下代码实现它。

$("select").change(function(){
   var location = $("LOCATION_SELECTOR").val(); //selector using ID/Class/Name
   var gender= $("GENDER_SELECTOR").val();
   var season= $("SEASON_SELECTOR").val();


   $.ajax(...) // use above 3 values to post the data.
});

答案 2 :(得分:0)

使用javascript array.sort()对您的元素进行排序,从MDN获取参考

答案 3 :(得分:0)

试试这段代码。

$(function() {
    $('#fruits').change(function(e) {
        var selected = $(e.target).val();
        console.dir(selected);
    }); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select multiple="true" id="fruits">
    <option value="apple">Apple</option>
    <option value="banana">Banana</option>
    <option value="mango">Mango</option>
    <option value="grape">Grape</option>
    <option value="watermelon">watermelon</option>
</select>