使用jQuery从动态创建的下拉列表中获取所选项ID

时间:2012-02-12 20:08:24

标签: jquery drop-down-menu

我的HTML中的select元素如下所示;

    <select id="ddlCats">
    </select>

我使用jQuery填充$(document).ready

// some ajax call
    $.each(msg.cats, function (i, cat) {
         $('#ddlCats').append(
    $('<option></option>').val(cat.catID).html(cat.catName)
    );
    });

这很好用,列表生成正常:

<select id="ddlCats">
   <option value="68" selected="selected">option 1</option>
   <option value="59">option 2</option>
   <option value="60">option 3</option>
   <option value="62">option 4</option>
</select>

直到我尝试使用以下方式访问所选项目的值:

$('#ddlCats').val();

总是`返回0.我也试过其他可用的选择器而没有运气。

任何想法?

2 个答案:

答案 0 :(得分:5)

select元素总是很烦人。试试这个:

$("#ddlCats option:selected").val();

答案 1 :(得分:0)

您可以通过订阅onchange事件获得最新价值:

    var i = [1,2,3,4,5,6,7];

for(var a = 0; a < 6; a++){
    $('#ddlCats').append($('<option></option>').val(i[a]).html(i[a]));
};

$('#ddlCats').change(function() {
  $('#test').text($('#ddlCats').val());
})

Html就像这样:

<select id="ddlCats">
</select>

<div id="test"></div>