我正在this
练习here是一个有效的演示
这里我可以重复一下代码:
$(document).ready(function() {
//$('#loader').hide();
$('.parent').livequery('change', function() {
$(this).nextAll('.parent').remove();
$(this).nextAll('label').remove();
$('#show_sub_categories').append('<img src="loader.gif" style="float:left; margin-top:7px;" id="loader" alt="" />');
$.post("get_chid_categories.php", {
parent_id: $(this).val(),
}, function(response){
setTimeout("finishAjax('show_sub_categories', '"+escape(response)+"')", 400);
});
return false;
});
});
function finishAjax(id, response){
$('#loader').remove();
$('#'+id).append(unescape(response));
}
<div id="show_sub_categories">
<select name="search_category" class="parent">
<option value="" selected="selected">-- Categories --</option>
<?php
$query = "select * from ajax_categories where pid = 0";
$results = mysql_query($query);
while ($rows = mysql_fetch_assoc(@$results))
{?>
<option value="<?php echo $rows['id'];?>"><?php echo $rows['category'];?></option>
<?php
}?>
</select>
</div>
<?php
include('dbcon.php');
if($_REQUEST){
$id = $_REQUEST['parent_id'];
$query = "select * from ajax_categories where pid = ".$id;
$results = @mysql_query( $query);
$num_rows = @mysql_num_rows($results);
if($num_rows > 0)
{?>
<select name="sub_category" class="parent">
<option value="" selected="selected">-- Sub Category --</option>
<?php
while ($rows = mysql_fetch_assoc(@$results))
{?>
<option value="<?php echo $rows['id'];?>"><?php echo $rows['category'];?></option>
<?php
}?>
</select>
<?php
}
else{echo '<label style="padding:7px;float:left; font-size:12px;">No Record Found !</label>';}
}
?>
使用jQuery,ajax和php从mySql数据库获取项目是N-Level动态加载下拉列表(组合框)。一切顺利但我在HTML中有这个:
<select name="search_category" class="parent">...</select>
<select name="sub_category" class="parent">...</select>
<select name="sub_category" class="parent">...</select>
<select name="sub_category" class="parent">...</select>
我想为每个选择标记选择所选项目,但由于它们具有相同的名称属性值,我想我不能这样做。请告诉我一些方法将名称更改为sub_category1,sub_category2,...或其他一些工作方式。
答案 0 :(得分:0)
这是我发现的决议:
我在最后一个组合显示其内容后添加了这个脚本:
$("#show_sub_categories select").attr("id", function(i) {
return "combo_" + i;
});
把它放在get_child_categories.php的最后一个中 干杯!