無効なドロップダウンを有効にして、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と互換性があるようにコードを更新するには、どのセクションを変更する必要がありますか?