从jQUery AutoComplete控件中检索所选值

时间:2010-06-29 20:34:18

标签: jquery-plugins

如果可能,我需要回答两个问题:

  1. 如何在jQuery自动完成控件中设置键\值。
  2. 用户选择学校名称后,从jQuery自动完成控件中检索所选值。
  3. 提前感谢您的帮助。

    <script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.min.js" type="text/javascript"></script>
    

            

    function RetrieveSchoolsBasedOnSchoolTypeSelected() {
          //Item Selected Value
          var ItemSelectedValue = $("#selSchoolTypes: option[selected]").val();
          $("#example").val("");
          $.getJSON("http://devportal2/apps/parisinterndb/_vti_bin/ListData.svc/Schools?$filter=SchoolTypeId eq " + ItemSelectedValue + "", function(DataResults) {
    
              var count = 0;
              var resultDataItems = "";
              $.each(DataResults.d.results, function(i, result) {
                  var title = result.Title;
                  resultDataItems +=  title +",";
              });
              resultDataItems += "";
              var data = resultDataItems.split(',');
              $("#example").autocomplete(data,
                                        { delay: 10,
                                            minChars: 1,
                                            cacheLength: 10,
                                            autoFill: true
                                        });
          });
               $("#example").result(findValueCallback).next().click(function() {
                $(this).prev().search();
              });
    
          }
    
          function findValueCallback(event, data, formatted) {
              alert(formatted+" "+data);
          }
    

1 个答案:

答案 0 :(得分:0)

获取所选值,只需解析findValueCallback函数中的数据参数。您可能需要使用split函数解析“数据”。

    ex : if (data != null) {
                   var model = "";
                   model = data.toString().split(".")[1];
                   selectedItem= data.toString().split(".")[0];
      }

要在autosuggest下拉列表中设置键值对,您可以使用自动完成功能和可以加载数据的服务器页面,

               $("#txtSearchKey").autocomplete("Lib/ajaxpages/GetModelOptions.aspx", {
               minChars: 2,
               width: 550,
               max: 4,
               highlight: false,
               scroll: true,
               scrollHeight: 300,
               formatItem: function(data, i, n, value) {
                   return "<b>" + value.split(".")[0] + "</b>";
               },
               formatResult: function(data, value) {
                   return value.split(".")[0];

               }
           });

GetModelOptions.aspx可以以字符串形式重新调整数据     1.Alaska \ n 2.Mexico \ n 3.Michigan \ n

并在javascript中提取它