jQuery从下拉列表获取值不起作用

时间:2015-02-19 16:07:43

标签: jquery

我有一个下拉状态:

<div id="search">
<select id="price-dropdown" class="form-control">
                                    <option value="0">-- Select Price --</option>
                                    <option value="1">$200,000 to $299,999</option><option value="3">$300,000 to $399,999</option><option value="5">$400,000 to $499,999</option><option value="8">$500,000+</option>                               </select>
</div>

我试图在更改时获取下拉菜单的值:

$('#search').change(function() {
alert($('#price-dropdown').val());
});

但警报返回0 ....我做错了什么?

我有4个下拉菜单,我试图从下拉列表中获取所有值并将它们传递给函数:

$('#search').change(function() {
        var price = $('#price-dropdown').val();
        var type = $('#type-dropdown').val();
        var sqft = $('#sqft-dropdown').val();
        var modelName = $('#model-name-dropdown').val();
        getSearchResults(price, type, sqft, modelName);
    });

2 个答案:

答案 0 :(得分:1)

#search是一个div元素,没有change个事件。您需要在select上挂钩事件。试试这个:

&#13;
&#13;
$('#price-dropdown').change(function() {
    alert($(this).val());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="search">
    <select id="price-dropdown" class="form-control">
        <option value="0">-- Select Price --</option>
        <option value="1">$200,000 to $299,999</option>
        <option value="3">$300,000 to $399,999</option>
        <option value="5">$400,000 to $499,999</option>
        <option value="8">$500,000+</option>                               
    </select>
</div>
&#13;
&#13;
&#13;


鉴于您的更新,您只需在任何select元素发生更改时运行该事件。试试这个:

$('#price-dropdown, #type-dropdown, #sqft-dropdown, #model-name-dropdown').change(function() {
    var price = $('#price-dropdown').val();
    var type = $('#type-dropdown').val();
    var sqft = $('#sqft-dropdown').val();
    var modelName = $('#model-name-dropdown').val();
    getSearchResults(price, type, sqft, modelName);
});

答案 1 :(得分:1)

$('#price-dropdown').change(function(){
  alert($(this).val());    
});

<强> FIDDLE