jQuery自动完成选择事件

时间:2013-11-11 15:55:23

标签: jquery html asp.net

<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}];

我正在尝试在选择标签时将机构ID的ID放在标签Label1中。

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

ID未在选择

上显示

1 个答案:

答案 0 :(得分:1)

这里有两件事不正确......

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

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

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

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

    See an example here并注意对.val()的调用对span元素没有任何作用。