Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
Jquery ui jquery mobile中的jquery ui自动完成_Jquery Ui_Jquery Mobile - Fatal编程技术网

Jquery ui jquery mobile中的jquery ui自动完成

Jquery ui jquery mobile中的jquery ui自动完成,jquery-ui,jquery-mobile,Jquery Ui,Jquery Mobile,我正在为我的jquery移动站点使用jquery ui自动完成。它是没有问题的工作,只要我直接打开网站。 如果我使用ajax导航到另一边,它就不起作用了 编辑可测试示例: <div data-role="page" data-theme="b" id="main" data-add-back-btn="true class="main""> <div data-role="content"> <input type="search" name="search" id

我正在为我的jquery移动站点使用jquery ui自动完成。它是没有问题的工作,只要我直接打开网站。 如果我使用ajax导航到另一边,它就不起作用了

编辑可测试示例:

<div data-role="page" data-theme="b" id="main" data-add-back-btn="true class="main"">
<div data-role="content">
<input type="search" name="search" id="search" value="" />
</div>
<script>
$('#main').live('pagecreate',function(event, ui) {
var availableTags = [
        "Testone",
        "Testtwo",
        "Testthree"
    ];
$( "#search" ).autocomplete({
    source: availableTags,
    minLength: 2,

});
});
</script>
</div>

$('#main').live('pagecreate',函数(事件,ui){
var availableTags=[
“测试通”,
“测试二”,
“测试三”
];
$(“#搜索”).autocomplete({
资料来源:availableTags,
最小长度:2,
});
});

我有一个带有autocomplete的jQM站点,遇到了一个类似的问题:在页面想要触发autocomplete代码时,为填充autocomplete选项而触发的ajax调用并不总是完成的

我把这归因于被触发的Javascript的性质(即,它是异步的,所以你要抓住机会…)

现在,我知道这是一个小技巧,但是添加一个小的超时对我来说是有效的(你需要用时间段进行实验)。在我的应用程序中,在我的jQM
$(document.bind(“mobileinit”…
code:

<script type="text/javascript">
  $(function(){
    // Horrible, but necessary
    setTimeout(doAutoComplete, 2500);
  });

  function doAutoComplete(){
    $( "#YOUR_FIELD_ID" ).autocomplete({
    // Your ac code here…
    });
  }
</script>

$(函数(){
//很可怕,但很有必要
setTimeout(doAutoComplete,2500);
});
函数doAutoComplete(){
$(“#您的#字段#ID”)。自动完成({
//你的ac代码在这里…
});
}

我有一个带有autocomplete的jQM站点,遇到了一个类似的问题:在页面想要触发autocomplete代码时,为填充autocomplete选项而触发的ajax调用并不总是完成的

我把这归因于被触发的Javascript的性质(即,它是异步的,所以你要抓住机会…)

现在,我知道这有点像黑客,但添加一个小的超时对我来说很有效(你需要试验时间段)。在我的应用程序中,在我的jQM
$(document.bind(“mobileinit”…
code:

<script type="text/javascript">
  $(function(){
    // Horrible, but necessary
    setTimeout(doAutoComplete, 2500);
  });

  function doAutoComplete(){
    $( "#YOUR_FIELD_ID" ).autocomplete({
    // Your ac code here…
    });
  }
</script>

$(函数(){
//很可怕,但很有必要
setTimeout(doAutoComplete,2500);
});
函数doAutoComplete(){
$(“#您的#字段#ID”)。自动完成({
//你的ac代码在这里…
});
}

刚刚检查了apache访问日志。它只有在我直接访问页面时才会被调用。如果我导航到该站点并输入一些内容,它就不会被调用。是的。我还使用javascript数组作为源对它进行了测试,我在函数中定义了该数组。结果相同。因此调用search.php可能不是问题。是的,它总是会被触发。Tes用一条警告消息提醒它。如果导航到该站点,我会多次收到警告。用一个示例更新了第一篇帖子。这看起来像是打字错误,这里的引号有点乱:
data add back btn=“true class=“main”
。另外,您是否尝试将
pagecreate
替换为
pageshow
?刚刚检查了apache访问日志。只有当我直接访问页面时,才会调用它。如果我导航到站点并输入一些内容,则不会调用它。是的。我还使用javascript数组作为源代码对其进行了测试,该数组是我在函数中定义的。使用相同的结果。因此调用search.php可能不是问题。是的,它总是会被触发。使用警报消息对其进行测试。如果我导航到该网站,我会多次收到警报。用一个示例更新了第一篇文章。这看起来像是一个打字错误,这里的引号有点乱:
data add back btn=“true class=”main“”
。另外,您是否尝试将
pagecreate
替换为
pageshow
?感谢您的提示,但没有为我解决问题。感谢您的提示,但没有为我解决问题。