1
<script>
 var ArrayString;
  $(function () {
      ArrayString = <%=GetInstitutionsArray() %>;

      $("#tags").autocomplete({
          source: ArrayString,
           select: function( event, ui ) {
           $("#Label1").val(ui.ID);
          }
      });

  });

我正在使用这个jquery来创建一个自动完成列表..GetInstitutionsArray()是后面代码中的一个函数,它创建一个看起来像这样的对象数组..

 ArrayString = [{label: "Centre of Professional Training Sezimovo st",ID:9695},
 {label: "Kunshan Industrial Technology Research Institute",ID:10079},
 {label: "Gh Asachi Technical University of Iasi",ID:10186},
 {label: "KAZDIDAKTIK Ltd",ID:9427},
 {label: "3D Perception AS",ID:7796},
 {label: "A D PatelInstitute of Technology",ID:7390},
 {label: "A Star Singapore BioImaging Consortium",ID:8706},
 {label: "A James Clark School of Engineering",ID:9005},
 {label: "ADPatel Institute of Technology",ID:9151},
 {label: "AM AlKhorafi",ID:7296},
 {label: "AAI Corporation",ID:7795}];

Label1选择标签时,我试图将机构 ID 的 ID 放入标签中。

<asp:Label ID="Label1" runat="server"></asp:Label>

id 未显示在选择中

4

1 回答 1

1

这里有两点不正确...

  1. 是元素Label1客户端 id值吗?JavaScript 在呈现的 HTML 上运行,而不是在服务器端 ASP.NET 控件上运行。您需要检查id该 HTML 中的实际值。id相反,这样的事情可能会通过使用服务器端代码来动态填充jQuery 选择器中的客户端值:

    $("#<% =Label1.ClientID %>").val(ui.ID);

  2. .val()不是这里使用的 jQuery 函数。Label控件呈现为span没有value属性的元素。改用.text()

    $("#<% =Label1.ClientID %>").text(ui.ID);

    请参阅此处的示例并注意对元素的调用如何.val()不做任何事情。span

于 2013-11-11T16:03:04.837 回答