0

我在同一个字段集中有 2 个选择框。我正在使用 jquery 添加一个选项,我希望它们都具有相同的默认值。

$(function(){
    var selectbox = $('.selectbox select');
    selectbox.prepend('<option value="Select a question" selected="selected">Select a question</option>');
    selectbox.children('option').each(function() {
        var option = $(this);
        option.removeAttr('disabled');
    });
});

我什至尝试删除它设置的禁用属性,但我似乎无法弄清楚为什么它将第二个选择框设置为禁用该选项。

4

2 回答 2

1

您必须prepend选择每个selectusing.each()循环,如下所示:

var selectbox = $('.selectbox select');
selectbox.each(function() {
    $(this).prepend('<option value="Select a question" selected="selected">Select a question</option>');
});

您的代码添加option到一个select. 而且你不需要disable他们的prepend目的。

演示

笔记

如果你optiondisabled属性,我认为这对上面的代码不会有任何问题。看这里

并从您可以做的所有事情中删除disabled属性:option

var selectbox = $('.selectbox select');
selectbox.each(function() {
    $(this).find('option').removeAttr('disabled'); // remove disabled attr
    $(this).prepend('<option value="Select a question" selected="selected">Select a question</option>');
});

演示

于 2012-07-19T15:24:34.783 回答
0

这可以通过找到选择菜单,然后添加选项元素,然后找到第一个选项并将其设置为选中来完成:

$('.selectbox select')
  .prepend('<option value="Select a question" selected="selected">Select a question</option>')
  .find('option:first-child').attr('selected', 'selected');​
于 2012-07-19T15:28:40.613 回答