Javascript 值到 MySQL Select
Javascript value to MySQL Select
我有 select 的表格和可供选择的选项。
select 选项值由 asp 经典循环提出。
第二个 select 根据第一个 select 的值从 javascript 填充。
然后它通过
发送值
var newOption = document.createElement("option");
newOption.value = "2015";
newOption.innerHTML = "Year";
s2.options.add(newOption);
所以现在我想根据第二个 select 选择
来扩展它带来 mysql 记录集的位置(还没有提交)
Set package = ObjConn.execute ("Select * from pack_plan where idpack = "JS.value??"")
所以我希望能够从中接收值和 select 记录。我不知道这将如何完成。帮助表示赞赏。
以下解决方案对我来说效果很好。
由于您可能不想重新加载页面,因此您需要发出异步请求以根据用户在第一个 select 上所做的选择检索第二个 select 的值。
因此,在您的页面上,您将拥有带有 selects 和几行 javascript 的表单,它们将进行异步调用。
<script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
function jsfunc1(primaryjsvalue){
$.ajax({url:"http://www.yoursite.com/secondary_list.asp?reqvalue="+primaryjsvalue.value, success:function(result){
if (result == "errore") {
$("#thesecondarylist").html('Error');
} else {
$("#thesecondarylist").html(result);
}
}});
}
</script>
<select id="selectid1" name="primaryselect" onchange="jsfunc1(this)">
<option value="val1" id="valid1"> Val1 </option>
<option value="val2" id="valid2"> Val2 </option>
<option value="val3" id="valid3"> Val3 </option>
</select>
<div id="thesecondarylist">
<select id="selectid2" name="secondaryselect" >
<option value="" id=""> Choose from primary list to see available values </option>
</select>
</div>
secondary_list.asp页面会根据主页上的选项selected查询数据库,
并将循环每个值写入一个响应,该响应将是 "thesecondarylist" div.
的内容
因此将仅包含打开连接、查询数据库并打印从数据库填充的第二个 select 选项的代码。
您的 asp 文件可以直接开始于:
基本上是你的代码
Set package = ObjConn.execute ("Select * from pack_plan where idpack = "JS.value??"")
成为
Set package = ObjConn.execute ("Select * from pack_plan where idpack = "&Request.QueryString("reqvalue")&"")
'... retrieve your records ...
%>
<select id="selectid2" name="secondaryselect" >
<%
while not rsSecondList.EOF
theValue = rsSecondList("packname")
theId = rsSecondList("idpack")
%>
<option value="<%=theValue%>" id="<%=theId%>"> <%=theValue%> </option>
<%
rsSecondList.Movenext
Wend
%>
</select>
我有 select 的表格和可供选择的选项。 select 选项值由 asp 经典循环提出。
第二个 select 根据第一个 select 的值从 javascript 填充。 然后它通过
发送值var newOption = document.createElement("option");
newOption.value = "2015";
newOption.innerHTML = "Year";
s2.options.add(newOption);
所以现在我想根据第二个 select 选择
来扩展它带来 mysql 记录集的位置(还没有提交)Set package = ObjConn.execute ("Select * from pack_plan where idpack = "JS.value??"")
所以我希望能够从中接收值和 select 记录。我不知道这将如何完成。帮助表示赞赏。
以下解决方案对我来说效果很好。 由于您可能不想重新加载页面,因此您需要发出异步请求以根据用户在第一个 select 上所做的选择检索第二个 select 的值。 因此,在您的页面上,您将拥有带有 selects 和几行 javascript 的表单,它们将进行异步调用。
<script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
function jsfunc1(primaryjsvalue){
$.ajax({url:"http://www.yoursite.com/secondary_list.asp?reqvalue="+primaryjsvalue.value, success:function(result){
if (result == "errore") {
$("#thesecondarylist").html('Error');
} else {
$("#thesecondarylist").html(result);
}
}});
}
</script>
<select id="selectid1" name="primaryselect" onchange="jsfunc1(this)">
<option value="val1" id="valid1"> Val1 </option>
<option value="val2" id="valid2"> Val2 </option>
<option value="val3" id="valid3"> Val3 </option>
</select>
<div id="thesecondarylist">
<select id="selectid2" name="secondaryselect" >
<option value="" id=""> Choose from primary list to see available values </option>
</select>
</div>
secondary_list.asp页面会根据主页上的选项selected查询数据库, 并将循环每个值写入一个响应,该响应将是 "thesecondarylist" div.
的内容因此将仅包含打开连接、查询数据库并打印从数据库填充的第二个 select 选项的代码。
您的 asp 文件可以直接开始于:
基本上是你的代码
Set package = ObjConn.execute ("Select * from pack_plan where idpack = "JS.value??"")
成为
Set package = ObjConn.execute ("Select * from pack_plan where idpack = "&Request.QueryString("reqvalue")&"")
'... retrieve your records ...
%>
<select id="selectid2" name="secondaryselect" >
<%
while not rsSecondList.EOF
theValue = rsSecondList("packname")
theId = rsSecondList("idpack")
%>
<option value="<%=theValue%>" id="<%=theId%>"> <%=theValue%> </option>
<%
rsSecondList.Movenext
Wend
%>
</select>