检查是否存在选项,添加它们,如果它们不存在,并设置为“已选择”
问题描述:
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');
}
});
的问题是,在每个变化在选择id =“#product”后,所有4个选项都被追加。 在哪里我需要插入.length来检查选项是否存在? 2)另外,如果选项不存在,并且它们被添加到select id =“#license”,我不能将第一个选项值(“--select--”选项)设置为选中一。
我试图与
.attr('selected','selected');
,但它不会工作;
希望解释清楚。 任何帮助将不胜感激。
编辑
这里有一个link到unterstand情况
答
$("#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>");
是的!就是这个。最后这么简单。非常感谢您的帮助! – Someone33 2013-05-14 02:42:41