昨天玩了几个小时后,想到了寻求您的帮助。不知道以前是否有人问过这种问题,但在那里找不到任何帮助。
我有 4 个相关的下拉菜单,它从sql
下拉数据库中获取数据change
。在 上change
,jQuery 将它的 ID 传递给一个 php 文件并获取它的下拉数据。它使用next
和nextAll
更新相关的下拉菜单。
我的问题
当我在下拉列表周围放置一个 div 时,它们不再加载数据。我尝试了 change .update
todiv .update
和其他 100 种方法,但都没有奏效。
我的代码
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('/pfi/mod/update.php', { id : id, value : v }, function(data) {
if (!data.error) {
obj.next('.update').html(data.list).removeAttr('disabled');
$('.findCar, .clearAll').fadeOut(); // hide Car button if more data available
} else {
obj.nextAll('.update').html('<option value="">----</option>').attr('disabled', true);
$('.findCar, .clearAll').fadeIn(); // show Car button
}
});
}
}
};
$(function() {
$('.update').live('change', function() {
formObject.run($(this));
$getCarInfoID = $(".update:not(:disabled)").last().val();
});
});
HTML 下拉菜单
<form action="" id="pfilterForm" method="post">
<div>
<select name="brand" id="brand" class="update">
<option value="">Select one</option>
<?php if (!empty($list)) { ?>
<?php foreach($list as $row) { ?>
<option value="<?php echo $row['id']; ?>"><?php echo $row['name']; ?></option>
<?php } ?>
<?php } ?>
</select>
</div><div>
<select name="make" id="make" class="update"
disabled="disabled">
<option value="">----</option>
</select>
</div><div>
<select name="series" id="series" class="update"
disabled="disabled">
<option value="">----</option>
</select>
</div><div>
<select name="model" id="model" class="update"
disabled="disabled">
<option value="">----</option>
</select>
</div>
<button name="data" type="button" class="findCar" onclick="getData()" style="display:none;" >GO</button>
<button name="data" type="button" class="clearAll" onclick="clearData()" style="display:none;" >Clear</button>
</form>
我怎样才能让它与div
下拉菜单一起使用?我使用本教程来完成此操作。