我需要启用禁用的下拉菜单并从 json 更改值。当我的程序有<select></select><select></select>
我的意思是连续选择时,它可以正常工作,但是当中间有元素时,它就不行了。
索引页面代码:
<ul>
<li>
<label>Item 1</label>
<select name="item1" id="item1" class="update">
<option value="">Select Item1</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
</li>
<li>
<label>Item 2</label>
<select name="item2" id="item2" class="update" disabled="disabled">
<option value="">Select Item2</option>
/*output based on item1*/
</select>
</li>
<li>
<label>Item 3</label>
<select name="item3" id="item3" class="update" disabled="disabled">
<option value="">Select Item3</option>
/*output based on item2*/
</select>
</li>
在索引中加载的脚本(以及 jquery):
var formObject = {
run : function(obj) {
if (obj.val() === '') {
obj.nextAll('.update').html('<option value="">----</option>').attr('disabled', true);
} else {
var id = obj.attr('id');
var v = obj.val();
jQuery.getJSON('/test/mod/update.php', { id : id, value : v }, function(data) {
if (!data.error) {
obj.next('.update').html(data.list).removeAttr('disabled');
} else {
obj.nextAll('.update').html('<option value="">----</option>').attr('disabled', true);
}
});
}
}
};
$(function() {
$('.update').live('change', function() {
formObject.run($(this));
});
});
我知道我需要改变
obj.next('.update').html(data.list).removeAttr('disabled');
但想不通。
这也适用于 jquery 1.6.4 但不适用于 1.9.1 我需要更改哪个部分以更新代码以与最新的 jquery 兼容?