Javascript jquery mobile中的空控制组
我被困在这一点上,试图模拟一个ajax搜索框。看一看非常简单的html标记Javascript jquery mobile中的空控制组,javascript,jquery,html,jquery-mobile,Javascript,Jquery,Html,Jquery Mobile,我被困在这一点上,试图模拟一个ajax搜索框。看一看非常简单的html标记 <div data-role="page" id="lightbox"> <div role="main" class="ui-content"> <div class="ui-field-contain"> <label for="search-input">Seach</label> &
<div data-role="page" id="lightbox">
<div role="main" class="ui-content">
<div class="ui-field-contain">
<label for="search-input">Seach</label>
<input id="search-input" type="text" name="search" />
</div>
<div class="ui-field-contain">
<label for="results"></label>
<div id="results" data-role="controlgroup" data-input="#search-input"></div>
</div>
</div>
</div>
有什么问题?对于每个keyup事件,我希望清除/清空controlgroup
,以便从先前的搜索中删除附加的元素。如果我使用$group.html(“”)代码>(参见注释的代码行)未附加输入结果。您可以在以下位置看到实时示例:
您可以使用$group.controlgroup(“容器”).empty()
清空您的组容器。请参阅下面的代码和JSFIDLE
var counter = 1;
$("#search-input").on("keyup", function (e) {
var $group = $("#results");
var source = ['mark', 'marcus', 'mariah', 'mary']
var value = $(this).val();
// This line is commented because of the problem
//$group.html("");
$group.controlgroup("container").empty();//empty your container
if (value && value.length > 2) {
$group.controlgroup("refresh");
$.each( source, function ( i, val ) {
var $el = $("<label for='user-" + counter + "'>" + val + "</label><input name='users' id='user-" + counter + "' value='x' type='radio'></input>");
$group.controlgroup("container").append($el);
$( $el[ 1 ] ).checkboxradio();
counter ++;
});
$group.controlgroup("refresh");
}
});
var计数器=1;
$(“#搜索输入”)。在(“键控”,功能(e){
var$组=$(“#结果”);
var source=['mark','marcus','mariah','mary']
var值=$(this.val();
//这一行由于问题而被注释
//$group.html(“”);
$group.controlgroup(“容器”).empty();//清空容器
如果(value&&value.length>2){
$group.controlgroup(“刷新”);
$。每个(源、函数(i、val){
变量$el=$(“”+val+“”);
$group.controlgroup(“容器”)。追加($el);
$($el[1]).checkboxradio();
计数器++;
});
$group.controlgroup(“刷新”);
}
});
我在这里设置了一个小时来寻找解决方案,而您来到这里只是简单的一句话。请允许我问你一件非常重要的事。我如何知道哪些方法用于controlgroup()
,因为我已经搜索了所有没有正面结果的jquery文档。controlgroup()
将返回一个jquery元素,您可以在应用div
、span
或任何其他html元素时对其应用所有jquery方法empty()。好吧,我是指这个参数:“刷新”
,“容器”
。还有其他的论据吗?对于这一点,您需要浏览您下载的jquery mobile rc插件的API文档。
var counter = 1;
$("#search-input").on("keyup", function (e) {
var $group = $("#results");
var source = ['mark', 'marcus', 'mariah', 'mary']
var value = $(this).val();
// This line is commented because of the problem
//$group.html("");
$group.controlgroup("container").empty();//empty your container
if (value && value.length > 2) {
$group.controlgroup("refresh");
$.each( source, function ( i, val ) {
var $el = $("<label for='user-" + counter + "'>" + val + "</label><input name='users' id='user-" + counter + "' value='x' type='radio'></input>");
$group.controlgroup("container").append($el);
$( $el[ 1 ] ).checkboxradio();
counter ++;
});
$group.controlgroup("refresh");
}
});