使用jQuery设置DropDown的selectedIndex?

时间:2012-05-09 01:40:07

标签: jquery

我正在尝试将下拉列表的索引设置为0;如果用户取消选中示例中显示的复选框,而忽略了一些如何忽略......

$ddlHeader.attr('selectedIndex', 0);

http://jsfiddle.net/abuhamzah/9YM4P/

// HTML:

Header:
<br /><input id="check" type="checkbox" name="approve" />
<select id="myddl" name="myddl">
    <option value="0">select me</option>
    <option value="1">One</option>
    <option value="2">Twooo</option>
    <option value="3">Three</option>
</select> 

// JS

var $ddls = $('select');
var $check = $('#check');
var $ddlHeader = $("#myddl"); 

$ddls.prop("disabled", true); 

$check .click(function() {
    $ddls.prop("disabled", true); 
    $ddlHeader.prop("disabled", !this.checked);
    $ddlHeader.attr('selectedIndex', 0);

});

4 个答案:

答案 0 :(得分:14)

$ddlHeader.find('option:first').prop('selected', 'selected');

Updated Fiddle

更新

$('select').prop('selectedIndex', 0);

或者使用更多代码但更灵活:

$('select').each(function() {
    $(this).find('option:first').prop('selected', 'selected');
});

答案 1 :(得分:4)

使用.prop,如下所示,

$ddlHeader.prop('selectedIndex', 0);

Updated fiddle

答案 2 :(得分:2)

<强> UPD

我困惑selectedIndex和价值。因此,只有在明确要求选择value = 0时,此解决方案才有效:

使用val(0)代替

$check.click(function() {
    $ddls.prop("disabled", true); 
    $ddlHeader.prop("disabled", !this.checked);
    $ddlHeader.val(0);
});

http://jsfiddle.net/9YM4P/1/

答案 3 :(得分:-1)

//这行代码适合我。 $(function(){$("select").each(function (i) { $(this).prop("selectedIndex", 0); }); });