3

我在 aspx 页面中有一个 asp 列表框。通过外部 java 脚本,我需要手动填充列表框。如何访问javascript中的列表框?它需要 jquery 吗?我正在将 java 脚本动态附加到 aspx 页面。我没有对 java 脚本使用任何包含/导入语句。所以我无法使用"Document"对象。如何new ListItem()在 java 脚本代码中创建来填充它?

有没有替代方法?请在这种情况下帮助我。提前致谢。早期反应表示赞赏。

4

3 回答 3

1

您可以使用列表框 id 访问列表框

 var Lbox   document.getElementById(<'<%= ListBox.ClientId %>');
 var option = document.createElement("option");
 option.value = '1';
 option.innerHTML = 'Option 1';
 Lbox.appendChild(option);
于 2012-06-01T05:21:18.853 回答
1

您可以通过多种方式进行操作。您可以通过以下方式获取列表框:

var myListBox = document.getElementById(<'<%= myListBox.ClientId %>')

或者使用 Jquery:

$('#<%= myListBox.ClientId %>')

您还可以将 clientidmode 设置为 static,它将使用与 aspx 页面上相同的 id,因此您可以使用:

$('#myListBox')
于 2012-06-01T05:21:36.183 回答
1
  1. 我正在将 java 脚本动态附加到 aspx 页面。我没有对 java 脚本使用任何包含/导入语句。所以我无法使用“文档”对象。

动态绑定脚本不会阻止您使用文档。你可以这样做。详情

Page.RegisterClientScriptBlock("MyScript", _
   "<script language=javascript src='MyJavaScriptFile.js'>");

2. 通过外部 java 脚本,我需要手动填充列表框。如何访问javascript中的列表框

您可以使用 ajax 从服务器获取数据以进行下拉。如果您不需要来自服务器的数据,您可以省略 ajax 部分。详情请关注这篇文章

在 HTML 部分

  <asp:DropDownList ID="ddlCities" runat="server"> </asp:DropDownList>

在 Javascript 部分

 $.getJSON('LoadCities.ashx?StateID=' + StateID, function(cities) {
       $.each(cities, function() {                        
          $("#ddlCities").append($("<option> </option>").val(this['ID']).html(this['City']));

        });
  });
          ​
于 2012-06-01T05:35:12.180 回答