我正在尝试使用经典的asp和javascript进行一些AJAX工作。
我的HTML代码看起来像这样。
<Select name="sName" multiple onchange="showMe(this.value)">
<option value="000"></option>
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
<option value="4">four</option>
</Select
我的javascript看起来像这样
function showMe(sID) {
var clID;
if (sID == "") {
document.getElementById("sDetails").innerHTML = "";
return;
}
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("sDetails").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "sList.asp?sID=" + sID + "&clID=" + clID, true);
xmlhttp.send();
}
除了上面的代码之外,我还有一个名为sDetails的表,其中填充了表。
我的问题是多重选择。此代码仅采用最后一次选择。
如果我运行sList.asp?sID = 5,6&amp; clID = 10,103该页面以表格格式给出了所需的结果。
感谢您的帮助。
由于
答案 0 :(得分:0)
试试这个:
<script>
function showMe(t) {
var a = [];
for ( var i = 0, l = t.options.length; i < l; i++ ) {
var o = t.options[i];
if (o.selected) {
a.push(o.value);
}
}
var sID = a.length ? a.join(',') : 0;
alert (sID);
}
</script>
<form name="selectTest"> <!-- optional -->
<select name="sName"multiple onchange="showMe(this)">
<option value="000"></option>
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
<option value="4">four</option>
</select>
</form>
演示JSFIDDLE
P.S。当然,您需要在代码中使用它以使其全部正常工作。