0

$.get を使用して ASP ページを呼び出し、選択リストのオプション値の HTML コードを受け取る HTML フォームがあります。返されるデータは私が期待していたものでは正しいですが、選択リストをロードするようには見えません。

ジャバスクリプト

    function PopulateServerList() {

    var storenum = document.getElementById("iStoreNumber").value;
    var ASP = "ListSupervisors2.asp?q=" + storenum;
    $.get(ASP, function(response) {
    alert(response);
    document.getElementById("iSupervisor").innerHTML = reponse;
    }); 
}

ASP

sql="SELECT * FROM SUPERVISORS WHERE STORE="
sql=sql & "'" & request.querystring("q") & "'"

set conn=Server.CreateObject("ADODB.Connection")
conn.Open "Provider=SQLOLEDB;User ID=<ID>;Password=<Password>;Initial Catalog=SUPERVISOR;Data Source=<Server>"
set rs=Server.CreateObject("ADODB.recordset")

rs.Open sql,conn

do until rs.EOF
  for each x in rs.Fields
Response.Write "<option value=''" & x.value &"''>"& x.value &"</option>"
next
rs.MoveNext
loop

私はこれに本当に慣れていないので、本当に簡単な間違いを犯していないことを願っています.

DB から返された 2 つの列を ASP の選択リストの値とテキストとして設定する方法も考えていますが、この時点でリストをロードすることについてもっと心配しています。

4

2 に答える 2

1

問題は、innerHTML が選択リストを埋めない IE のバグであることがわかりました。ぎこちない回避策を記載した Microsoft のページを見つけました

http://support.microsoft.com/kb/276228

于 2013-02-18T19:44:56.000 に答える
0

私が見つけた最良の方法はjqueryを使用することです

$("#iSupervisor").html(response);

ほぼ問題を回避します。

于 2013-02-18T20:02:50.400 に答える