Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sharepoint jquery自动完成清除文本框(如果没有值)_Jquery_Sharepoint_Autocomplete - Fatal编程技术网

sharepoint jquery自动完成清除文本框(如果没有值)

sharepoint jquery自动完成清除文本框(如果没有值),jquery,sharepoint,autocomplete,Jquery,Sharepoint,Autocomplete,我创建了textbox,它基于另一个列表中的数据在自动完成功能上工作。如果用户没有选择任何项目或输入了错误的文本,我需要清除文本框。下面是我的代码 $.ajax({ url: "http://address/_vti_bin/lists.asmx", type: "POST", dataType: "xml", data: soapEnv, contentType: "text/xml; charset=\"utf-

我创建了textbox,它基于另一个列表中的数据在自动完成功能上工作。如果用户没有选择任何项目或输入了错误的文本,我需要清除文本框。下面是我的代码

$.ajax({
        url: "http://address/_vti_bin/lists.asmx",
        type: "POST",
        dataType: "xml",
        data: soapEnv,
        contentType: "text/xml; charset=\"utf-8\"",
        success: function (xmlResponse) {
            var domElementArray = $("z\\:row", xmlResponse);
            var dataMap = domElementArray.map(function () {
                return {
                    value: $(this).attr('ows_AirportCode'),
                    id: $(this).attr('ows_AirportCode')
                };
            });
            var data = dataMap.get();

            //Find the Sharepoint Portal Search Box (this is a poor selector, but it is not properly named by sharepoint, well it is but INamingContainer getrs in the way)   
            $("input[title='AirportCode Required Field']").autocomplete(
        {
            source: data,

            miniLength: 3,
            response: function (event, ui) {
                // ui.content is the array that's about to be sent to the response callback.
                if (ui.content.length == 0) {
                    $("#empty-message").text("No results found");
                } else {
                    $("#empty-message").empty();
                }
            }
        }
        );
        }
    }); //.ajax  

谢谢

您可以在autocomplete上订阅更改事件,并将所选值与列表值数组进行比较以获得匹配:

.autocomplete({
   ...
   .change: function( event, ui ) {
      var input = $("input[title='AirportCode Required Field']");
      var selectedValue = input.val();
      var valid = false;
      $.each(data , function (i, item) {
         if (item.value === selectedValue) valid = true;
      });

      if (valid == false){
        // clear the input if not found
        input.val('');
      }
   }
})

您可以在autocomplete上订阅更改事件,并将所选值与列表值数组进行比较以获得匹配:

.autocomplete({
   ...
   .change: function( event, ui ) {
      var input = $("input[title='AirportCode Required Field']");
      var selectedValue = input.val();
      var valid = false;
      $.each(data , function (i, item) {
         if (item.value === selectedValue) valid = true;
      });

      if (valid == false){
        // clear the input if not found
        input.val('');
      }
   }
})