如果没有加载页面,我无法从数据库中检索多个选择数据。
我想选择多个选项并根据选择检索数据,这是我的select标签的代码:
<select name="country[]" multiple="multiple" onChange="getSkill(this.value)">
<option value="">--Select Categoery--</option>
<?php while ($row=mysql_fetch_array($result)) {
$cid = $row['cid'];
?>
<option value=<?php echo $row['cid']?>><?php echo $row['categotie']?></option>
<?php } ?>
</select>
我的AJAX代码是:
function getSkill(cid) {
var strURL="findskill.php?cid="+cid;
var req = getXMLHTTP();
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
document.getElementById('skilldiv').innerHTML=req.responseText;
} else {
alert("Problem while using XMLHTTP:\n" + req.statusText);
document.getElementById('marksdiv').innerHTML='<p name="marks">'+
'</p>';
}
}
}
req.open("GET", strURL, true);
req.send(null);
}
}
如何检索多个值?我只能检索一个值。
答案 0 :(得分:0)
根据您在服务器中的期望值,正确获取值时,在处理多个选择时,而不是:
<select name="country[]" multiple="multiple" onChange="getSkill(this.value)">
如果您使用的是jQuery,请替换为:
<select name="country[]" multiple="multiple" onChange="getSkill($(this).val())">
请注意,如果您不使用jQuery,则需要更长的代码。
然后,您的函数将会收到[cid1, cid2, cid3, ....]
。
然后,这取决于您的服务器代码,例如,如果您希望在服务器cid1,cid2,cid3
中替换:
var strURL="findskill.php?cid="+cid;
使用:
var strURL = "findskill.php?cid=" + cid.join(',');