JQuery .selectedIndex = 0;不适用于所有选定的字段

时间:2013-12-08 18:58:58

标签: javascript jquery

<select name="wpcf-others" id="abc" class="myzebra-control myzebra-select">
<option value="wpcf-field123">General Work Jobs</option>
<option value="wpcf-fields--1">Journalist/Editors Jobs</option>
<option value="wpcf-4868b877-1">Publishing Jobs</option>
<option value="wpcf-fields-2fb08-1">Others Jobs</option>
</select>
<select name="wpcf-otsdrs" id="abc" class="myzebra-control myzebra-select">
<option value="wpcf-field123">General Work Jobs</option>
<option value="wpcf-fields--1">Journalist/Editors Jobs</option>
<option value="wpcf-4868b877-1">Publishing Jobs</option>
<option value="wpcf-fields-2fb08-1">Others Jobs</option>
</select>

Js代码

jQuery(function ($) {
$("select").prepend('<option value="">- select -</option>');
$("select")[0].selectedIndex = 0;
});

上面的Jscode将值添加到 - 选择 - 成功,但只将第一个下拉选项设置为&#34; - 选择 - &#34;

http://jsfiddle.net/J7PhF/7/

如何使所有选择字段选择&#34; - 选择 - &#34; ?

3 个答案:

答案 0 :(得分:1)

请使用.val()方法来满足您的需求。由于您将默认选项的值设为"",我建议您使用此$("select").val("");

试试这个,

jQuery(function ($) {
    $("select").prepend('<option value="0">- select -</option>');
    $("select").val("");
});

DEMO

答案 1 :(得分:1)

正如所建议的那样,我发帖作为答案......

为什么不简单地将所选属性添加到选项中?

jQuery(function ($) {
    $("select").prepend('<option value="" selected>- select -</option>');
    $("select")[0].selectedIndex = 0;
});

请参阅fiddle

答案 2 :(得分:0)

您需要在所有选择上设置selectedIndex属性。而不是

$("select")[0].selectedIndex = 0;

你想这样做:

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

它应该像你期望的那样工作。