我有两个下拉菜单,国家和状态为用户注册页面。这里国家是基于国家的。第二下拉菜单未选中
如果我选择国家,然后根据该国的国家将进行筛选。
我的问题是在编辑用户。
我有以下的jQuery代码:
var u_id = <?= intval($_GET['id']);?>;
$.post('model/getUser.php',{id:u_id},function(data){
if(data.success == true){
$("#country").val(data.result.country);
dochange('state', data.result.country);
$("#state").val("+data.result.state+").attr('selected',true);
}
},'json');
这里就是我想要做的是,一旦国家被选中,那么它会通过使用功能
function dochange(src, val) {
var req = Inint_AJAX();
req.open("GET", "loc.php?data="+src+"&val="+val);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
req.send(null);
}
loc.php
过滤其状态$data = $_GET['data'];
$val = $_GET['val'];
$val2 = $_GET['val2'];
if ($data=='country') {
echo "<select class='select-style' name='country' id=\"country\" onChange=\"dochange('state', this.value)\">";
echo "<option value=''>- Select Country -</option>\n";
$result=mysql_query("select * from countries order by countryName asc");
while($row = mysql_fetch_array($result)){
echo "<option value='$row[countryCode]'> $row[countryName]</option>" ;
}
}
else if ($data=='state') {
echo "<select class='select-style' name='state' id=\"stateId\" >\n";
echo "<option value=''>- Select State -</option>\n";
$result=mysql_query("SELECT * FROM state WHERE countryCode= '$val' order by stateName asc");
while($row = mysql_fetch_array($result)){
$selected = "";
if ($val2 == $row[state]) $selected = " selected ";
echo "<option ".$selected. " value=\"$row[state]\">$row[stateName]</option> " ;
}
}
echo "</select>\n";
是越来越过滤,但我不能够显示用户的状态。
任何人都可以请帮我解决这个问题。
谢谢。
尝试类似$( “#state”)VAL(data.result.state)。没有attr('selected',true); –
@FerminPerdomo是的我也试过这个,我的猜测是在dochange函数$(“#state”).val(data.result.state);这一个没有发生 – nas
因为在我输入$(“#stateId”).val(“01”);在控制台它是菜单正在改变。 – nas