Jquery 动态填充其他选择选项,但我希望它仅显示在同一父类中
我有这样的表格:Jquery 动态填充其他选择选项,但我希望它仅显示在同一父类中,jquery,ajax,Jquery,Ajax,我有这样的表格: <form action="index.php" method="get" name="gizi"> <div class="par1"> <select name="jenis" class="jenis"> <option selected="selected">--Merk--</option> <option value="1">Toyota</option>
<form action="index.php" method="get" name="gizi">
<div class="par1">
<select name="jenis" class="jenis">
<option selected="selected">--Merk--</option>
<option value="1">Toyota</option>
<option value="2">Nissan</option>
<option value="3">Honda</option>
</select>
<select name="bahan" class="bahan">
<option selected="selected">--Car name--</option>
</select>
</div>
<div class="par2">
<select name="jenis" class="jenis">
<option selected="selected">--Merk--</option>
<option value="1">Toyota</option>
<option value="2">Nissan</option>
<option value="3">Honda</option>
</select>
<select name="bahan" class="bahan">
<option selected="selected">--Car name--</option>
</select>
</div>
</form>
$(document).ready(function() {
$(".jenis").change(function() {
var id = $(this).val();
var dataString = 'jenis=' + id;
$.ajax({
type: "POST",
url: "ajax_menu.php",
data: dataString,
cache: false,
success: function(html) {
$(".bahan").html(html);
}
});
});
});
当我在“-Merk--”中选择一个选项时,它会在“-Car name--”中填充另一个选择选项
示例:我选择“Toyota”,现在ajax处理它并显示
<select name="bahan" class="bahan">
<option value"1">Avanza</option>
<option value"2">Kijang</option>
<option value"3">Innova</option>
</select>
万萨
基江
英诺瓦
现在,这里有个问题。父类中的(class=“bahan”和父类中的(class=“bahan”)都已填充/更改。。。
如果我在class=“par1”中选择了选项,我想,。。它只填充了par class=“par1”中class=“bahan”的选项,而不是par1和par2中的选项,而不是针对所有
$(“.bahan”)
元素,您需要针对bahan
,它是已更改的jenis
元素的同级
$(document).ready(function() {
$(".jenis").change(function() {
var id = $(this).val();
var dataString = 'jenis=' + id;
var $this = $(this);
$.ajax({
type: "POST",
url: "ajax_menu.php",
data: dataString,
cache: false,
success: function(html) {
$this.siblings(".bahan").html(html);
//or $this.next().html(html);
}
});
});
});
使用此代码:
$(document).ready(function() {
$(".jenis").change(function() {
var id = $(this).val();
var dataString = 'jenis=' + id;
$.ajax({
type: "POST",
url: "ajax_menu.php",
data: dataString,
cache: false,
success: function(html) {
$(this).next(".bahan").html(html);
}
});
});
}))
$(document).ready(function() {
$(".jenis").change(function() {
var id = $(this).val();
var dataString = 'jenis=' + id;
$.ajax({
type: "POST",
url: "ajax_menu.php",
data: dataString,
cache: false,
success: function(html) {
$(this).next(".bahan").html(html);
}
});
});