多个 html select 和 jquery ajax
我想创建一个多个 <选择>使用ajax和jquery。
首先选择(c1)工作正常。当我点击它时,它会返回另一个选择(c2)。但是当我单击第二个选择(c2)时,我可以获得第三个选择(c3)。
HTML:
<table><tr><td id="cat1div">
<select name="c1">
<option value="">---</option>
<option value="1">Auto</select>
<option value="2">Moto</select>
</td>
<td id="cat2div"></td>
<td id="cat3div"></td>
</tr></table>
jquery:
$(document).ready(function() {
$("select[name=c1]").change(function () {
var id = $("select[name=c1] option:selected").val();
$.ajax({
url: "category.php?cat=2&id=" + id,
cache: false,
success: function (html) {
$('#cat2div').html(html);
}
});
});
$("select[name=c2]").change(function () {
alert('asad');
var id = $("select[name=c2] option:selected").val();
$.ajax({
url: "category.php?cat=3&id=" + id,
cache: false,
success: function (html) {
$('#cat3div select').html(html);
}
});
});
});
PHP:
<?if($_GET['cat']==2){?>
<select name="c2">
<option value="">---</option>
<?foreach($cat2[$_GET['id']] as $ca => $key){
?><option value="<?=$ca;?>"><?=$key;?><?}?>
</select>
<?}elseif($_GET['cat']==3){?>
<select name="c3">
<option value="">---</option>
<?foreach($cat3[$_GET['id']] as $ca => $key){
?><option value="<?=$ca;?>"><?=$key;?><?}?>
</select>
<?
抱歉我的英语不好,感谢您的帮助
I wanna create a multiple < select > with ajax and jquery.
First select(c1) is working properly. When I click on it returns another select(c2). But when I clicked on second select(c2) I can get third select(c3).
HTML:
<table><tr><td id="cat1div">
<select name="c1">
<option value="">---</option>
<option value="1">Auto</select>
<option value="2">Moto</select>
</td>
<td id="cat2div"></td>
<td id="cat3div"></td>
</tr></table>
jquery:
$(document).ready(function() {
$("select[name=c1]").change(function () {
var id = $("select[name=c1] option:selected").val();
$.ajax({
url: "category.php?cat=2&id=" + id,
cache: false,
success: function (html) {
$('#cat2div').html(html);
}
});
});
$("select[name=c2]").change(function () {
alert('asad');
var id = $("select[name=c2] option:selected").val();
$.ajax({
url: "category.php?cat=3&id=" + id,
cache: false,
success: function (html) {
$('#cat3div select').html(html);
}
});
});
});
PHP:
<?if($_GET['cat']==2){?>
<select name="c2">
<option value="">---</option>
<?foreach($cat2[$_GET['id']] as $ca => $key){
?><option value="<?=$ca;?>"><?=$key;?><?}?>
</select>
<?}elseif($_GET['cat']==3){?>
<select name="c3">
<option value="">---</option>
<?foreach($cat3[$_GET['id']] as $ca => $key){
?><option value="<?=$ca;?>"><?=$key;?><?}?>
</select>
<?
Sorry for my English and thanks for any help
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这应该可以解决问题:
目前,当
$("select[name=c2]")
运行时,该元素还不存在......所以没有什么可以绑定change< /code> 处理程序...一旦元素存在,您就需要执行此操作,就像我上面所做的那样。
This should do the trick:
Currently, when
$("select[name=c2]")
runs, the element isn't there yet...so there's nothing to bind achange
handler to...you need to do this once the element is there, like I have above.