jq中用Ajax实现二级下拉框,服务器语言是php的。
废话不多说,上源码。能解决问题,追加50分,绝不食言。html页面:引入jq和自己的js就不写了,看着烦只写body体里面的。<spanclass="one">一级栏目:...
废话不多说,上源码。能解决问题,追加50分,绝不食言。
html页面:引入jq和自己的js就不写了,看着烦只写body体里面的。
<span class="one">
一级栏目:<select>
<option value="" selected="selected">默认</option>
<option value="一级">一级</option>
<option value="二级">二级</option>
<option value="三级">三级</option>
</select>
</span>
<span class="two">
二级栏目:<select></select>
</span>
自己的js://我很清楚我的$.post后面的方法不对,就这个不会啊,跪求高手赐教。
$(document).ready(function(){
var oneSelect = $(".one").children("select");
var twoSelect = $(".two").children("select");
oneSelect.change(function(){
var oneValue = $(this).val();
// $.post("post.php",{keyword:$(oneValue)}, function (data){
// $(twoSelect).html(data); // 把返回的数据添加到页面上
// });
});
});
post.php://php会些,能接到返回的值就行,但怎么接啊?
echo $a = $_POST[oneValue];
自己找出来了。
$.post("post.php",{one:oneValue}, function (data){
$(twoSelect).html(data);// 把返回的数据添加到页面上
});
php: $a = $_POST[one];
echo "<option value=".$a.">".$a."</option>"
反正分也散了,问一下,如果为空,twoSelect不显示在么做啊。我用if else判断然后.show();或.hide();。不灵。火狐报错。missing ) after argument list。网上说转义字符。我这应该不是吧。这是我写的判断。
if(oneValue!=null){
$.post("post.php",{one:oneValue}, function (data){
$(twoSelect).html(data);}// 把返回的数据添加到页面上
else{
twoSelect.parent().hide();
} 展开
html页面:引入jq和自己的js就不写了,看着烦只写body体里面的。
<span class="one">
一级栏目:<select>
<option value="" selected="selected">默认</option>
<option value="一级">一级</option>
<option value="二级">二级</option>
<option value="三级">三级</option>
</select>
</span>
<span class="two">
二级栏目:<select></select>
</span>
自己的js://我很清楚我的$.post后面的方法不对,就这个不会啊,跪求高手赐教。
$(document).ready(function(){
var oneSelect = $(".one").children("select");
var twoSelect = $(".two").children("select");
oneSelect.change(function(){
var oneValue = $(this).val();
// $.post("post.php",{keyword:$(oneValue)}, function (data){
// $(twoSelect).html(data); // 把返回的数据添加到页面上
// });
});
});
post.php://php会些,能接到返回的值就行,但怎么接啊?
echo $a = $_POST[oneValue];
自己找出来了。
$.post("post.php",{one:oneValue}, function (data){
$(twoSelect).html(data);// 把返回的数据添加到页面上
});
php: $a = $_POST[one];
echo "<option value=".$a.">".$a."</option>"
反正分也散了,问一下,如果为空,twoSelect不显示在么做啊。我用if else判断然后.show();或.hide();。不灵。火狐报错。missing ) after argument list。网上说转义字符。我这应该不是吧。这是我写的判断。
if(oneValue!=null){
$.post("post.php",{one:oneValue}, function (data){
$(twoSelect).html(data);}// 把返回的数据添加到页面上
else{
twoSelect.parent().hide();
} 展开
3个回答
展开全部
var two=$(".two select").get(0);
var oneValue = $(this).val();
$.post("http://127.0.0.1/post.php",{keyword:oneValue}, function (data)
{
var options=data.split("|");
for(var item in options)
{
var varItem = new Option(options[item],options[item]);
two.options.add(varItem);
}
},"text");
把这段放入oneSelect.change(function(){
里面即可
至于php可以类似这样写
<?php
echo $_POST["keyword"]."|".$_POST["keyword"];//多个option连接在一起
?>
var oneValue = $(this).val();
$.post("http://127.0.0.1/post.php",{keyword:oneValue}, function (data)
{
var options=data.split("|");
for(var item in options)
{
var varItem = new Option(options[item],options[item]);
two.options.add(varItem);
}
},"text");
把这段放入oneSelect.change(function(){
里面即可
至于php可以类似这样写
<?php
echo $_POST["keyword"]."|".$_POST["keyword"];//多个option连接在一起
?>
追问
照你的写法二级栏目会一直累加,出现这个。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有返回值没?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询