我在搜索框中使用jQuery UI进行自动填充。如何使用jQuery UI创建自动填充搜索框
所以这是我从控制器传递到包含JS的视图的数组。
public function suggest_channel(){
$this->load->library('mcurl');
$arr_channel_title = array();
$arr_main = array();
if($this->input->is_ajax_request()) {
$keyword = $_POST['channel_url'];
$str_search_url = $this->youtube_api_url . "search";
$arr_search_params
= array(
'part' => 'snippet',
'q' => $keyword,
'fields' => 'items',
'type' => 'channel',
'key' => $this->youtube_api_key,
'maxResults' => 10
);
$this->mcurl->add_call(null, 'get', $str_search_url, $arr_search_params);
$yt_api_data = $this->mcurl->execute();
$arr_response = json_decode($yt_api_data[0]['response'], TRUE);
foreach ($arr_response['items'] as $items) {
$arr_main[$x]['id'] = $items['snippet']['channelId'];
$arr_main[$x]['label'] = $items['snippet']['channelTitle'];
$arr_main[$x]['img_url'] = $items['snippet']['thumbnails']['default']['url'];
$x++;
}
echo json_encode($arr_main);
}
}
这将返回像这样
[{
"id":"UCt4t-jeY85JegMlZ-E5UWtA",
"channel_name":"aajtaktv",
"img_url":"https:\/\/yt3.ggpht.com\/-ZE5JmiUBlGo \/AAAAAAAAAAI\/AAAAAAAAAAA\/JU-NHnMeaY8\/s512-c-k-no\/photo.jpg"
},
{
"id":"UCyyP7tUlQYhYCDmqafg7Rpg",
"channel_name":"DilliAajtak",
"img_url":"https:\/\/yt3.ggpht.com\/-V41A_NRHePA\/AAAAAAAAAAI\/AAAAAAAAAAA\/W13cwzn8Xws \/s512-c-k-no\/photo.jpg"
},
{
"id":"UCKeZdjO26bvvLOQ68-nAFhQ",
"channel_name":"AajTakAstro",
"img_url":"https :\/\/yt3.ggpht.com\/-mNkTltsXomk\/AAAAAAAAAAI\/AAAAAAAAAAA\/sFXYX5AIgnU\/s512-c-k-no\/photo.jpg"
}]
这是应当在文本框中显示的数据时用户在文本框中“AAJ”。
现在我想要当用户进入这样
$("#channel_url").keyup(function() {
var str_user_entered_channel_url= $("#channel_url").val();
if(str_user_entered_channel_url.length >= 2){
if(str_user_entered_channel_url != ''){
$.ajax({
url: "<?=base_url()?>chtool/suggest_channel",
data: {"channel_url" : str_user_entered_channel_url},
type: "POST",
success: function(response) {
$("#channel_url").autocomplete({
source: response
});
}
});
}
}
});
关键字显示在搜索框中输入这个数据,但我没有收到从自动完成任何建议。我需要将这些数据显示在文本框中。谁能帮忙?
我认为你使用它的方式不会以这种方式工作。您是否查看过这种类型的应用程序的JQuery UI演示? – Twisty
是的,我在https://jqueryui.com/autocomplete/查看了他们的演示,他们直接在那里使用响应。所以,我不确定我的情况如何,我的情况如何。 – Akash
您的“响应”比演示复杂得多。看看这里:http://jqueryui.com/autocomplete/#remote这是你应该尝试模拟的演示。 – Twisty