1)以下代码在选定值
上附加一些选项 $('#product').on('change',function(){
if($(this).val()!=='Free'){
$("#license option:selected").remove();
$("#license").append("<option value=''> -- Select --</option>").attr('selected','selected');
$("#license").append("<option value='1'>1</option>").val('Licenza');
$("#license").append("<option value='2'>2</option>").val('2');
$("#license").append(" <option value='3'>3</option>").val('3');
}else{
$("#license").find('option').remove().end().append("<option value='free'> Free</option>").val('free');
}
});
问题是,在select id =“#product”的每次更改中,都会附加所有4个选项。 我需要在哪个地方插入.length来检查选项是否存在?
2)另外,如果选项不存在并且它们被附加到select id =“#licence”,我就不能将第一个选项值(“ - select--”选项)设置为选中的选项值
我试过
.attr('selected','selected');
但它不起作用;
希望解释清楚。 任何帮助将不胜感激。
修改
这是一个link来解除这种情况
答案 0 :(得分:1)
$("#license").append("<option value=''> -- Select --</option>").attr('selected','selected');
$("#license").append("<option value='1'>1</option>").val('Licenza');
$("#license").append("<option value='2'>2</option>").val('2');
$("#license").append(" <option value='3'>3</option>").val('3');
此处 .val()
,attr('selected','selected')
方法用于添加license
选择的属性...因此您要为自己添加属性value
和selected
许可证选择......
你可以移除.val()
和.attr()
并将其放在你的追加字符串上......就像这样:
$("#license").append("<option value='' selected> -- Select --</option>");
$("#license").append("<option value='Licenza'>Licenza</option>");
$("#license").append("<option value='2'>2</option>");
$("#license").append(" <option value='3'>3</option>");