Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/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
Javascript jquery mobile中的空控制组_Javascript_Jquery_Html_Jquery Mobile - Fatal编程技术网

Javascript jquery mobile中的空控制组

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> &

我被困在这一点上,试图模拟一个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>
            <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");        
    }
});