我正在使用<select>
选项菜单jQuery.msDropDown但由于某种原因,在使用javascript / jquery设置select.selectedIndex
属性后,DOM不会更新。
点击下拉菜单然后点击页面上的后面(关闭它),它会使用正确的selectedIndex进行更新。
我正在循环更新selectedIndex:
$.fn.[unrelated function].after = function( opts, curr, next, fwd ) {
var $sel = document.getElementById('selectElem');
for(var i = 0, j = $sel.options.length; i < j; ++i) {
if(($sel.options[i].value).substr(1) == next.title) {
//I have tried various ways here
$sel.selectedIndex = i;
//$('#selectElem').prop("selectedIndex",i);
break;
}
}
};
P.S。似乎没有msDropDown
的任何文档,否则我会尝试确定哪个事件会触发更新框。
答案 0 :(得分:8)
试试这个 -
var oHandler = $('#selectElem').msDropDown().data("dd");
if(oHandler) {
oHandler.set("selectedIndex", i);
}
答案 1 :(得分:0)
这是完整的代码:
$(document).ready(function() {
$("#Country").msDropdown();
var country_code = 'in';
var i = 0;
var indexNumber = 0;
$("#Country option").each(function(){
if($(this).val() == country_code){
indexNumber = i;
}
i++;
});
var oHandler = $('#Country').msDropDown().data("dd");
if(oHandler) {
oHandler.set("selectedIndex", indexNumber);
}
});