我在同一个字段集中有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');
});
});
我甚至尝试删除它设置的禁用属性,我似乎无法弄清楚为什么将第二个选择框设置为禁用该选项。
答案 0 :(得分:1)
您必须使用prepend
循环select
选择每个.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
。
的 DEMO 强> 的
如果您的option
具有disabled
属性,我认为这不会对上述代码产生任何问题。的 SEE HERE 强>
要从所有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>');
});
的 DEMO 强> 的
答案 1 :(得分:0)
这可以通过找到选择菜单,然后添加选项元素,然后找到第一个选项并将其设置为选择来完成:
$('.selectbox select')
.prepend('<option value="Select a question" selected="selected">Select a question</option>')
.find('option:first-child').attr('selected', 'selected');