我有这段jQuery代码:
$("#cf_state_chosen.chosen-container.chosen-container-single div.chosen-drop ul.chosen-results li").each( function(i) {
console.log( $("#cf_state_chosen.chosen-container.chosen-container-single div.chosen-drop ul.chosen-results li")[i] );
});
它将输出以下内容:
<li class="active-result" style="" data-option-array-index="1">AL</li>
<li class="active-result" style="" data-option-array-index="2">AK</li>
<li class="active-result result-selected" style="" data-option-array-index="3">AZ</li>
<li class="active-result" style="" data-option-array-index="4">AR</li>
当用户从result-selected
下拉框中选择其他状态时,select
会发生变化。我该如何以编程方式预设?我将从另一个输入字段中拉出状态,该字段通过ajax jQuery调用填充。
如果碰巧为过时的选择设置了result-selected
,我怎么能删除它?
答案 0 :(得分:1)
对于删除,检查,添加类,jquery中有三种方法
试试这个
$("li[class*='result-selected']").each(function(){
$(this).removeClass("result-selected");
});
$("#cf_state_chosen.chosen-container.chosen-container-single div.chosen-drop ul.chosen-results li").each( function(i) {
$(this).addClass("result-selected");
});
答案 1 :(得分:1)
通过选择&#34;结果选择&#34;选择所有元素,可以删除任何过时的选项。 class,然后删除这个特定的类:
$('.result-selected').removeClass('result-selected');
并且,假设您的<select>
有id="stateSelector"
,您可以:
$('#stateSelector').val('FL'); //<== setting the Select choice to the one with 'FL' value (value and not text!)
如果没有,您可以按类或任何可以识别该特定选择的任何内容选择它。请注意使用选项的值而不是文本。