jQuery mobile:除非我重新加载页面,否则数据搜索值将返回空

时间:2013-11-05 22:06:39

标签: ajax jquery-mobile input filter

jQuery Mobile 1.3.2:我有listview启用了过滤器。这个页面是通过jQuery mobile ajax加载的。

我的问题是,如果我允许它通过ajax加载,它会检测到我的keyup事件,但它不会提取input[data-type="search"]的值。如果我使用浏览器刷新页面,脚本将完美执行。

如何在使用AJAX加载页面时使其工作?

HTML MARKUP:

 <ul id="addCompany" style="padding-bottom:10px;" data-role="listview" >
    <li><a href="#" onclick="$( 'input[data-type="search"]' ).focus()">Touch To Add</a></li>
 </ul>
 <div id="listwrap">
<ul data-role="listview" data-autodividers="true" data-filter="true" data-inset="true">
<li><a href="index.html">Adam Kinkaid</a></li>
 </ul>
 </div>

的jQuery

        <script>
            $(document).ready(function(){
                var inputVal;
                $('body').on("keyup",'input[data-type="search"]', function(){
                    inputVal = $('input[data-type="search"]').val();
                    if(inputVal===""){
                        $('#dynamic').html('<li><a href="#" onclick="$( \'form input\' ).focus()">Touch To Add</a></li>');
                        $('#dynamic').listview("refresh");
                    }else{
                        $('#dynamic').html('<li><a href="next.php?i&newitem='+encodeURIComponent($('input[data-type="search"]').val())+'">Touch Again To Add: '+$('input[data-type="search"]').val()+'</a></li>');
                        $('#dynamic').listview("refresh");
                    }
                });
            });
        </script>

编辑:请注意,我可以设置值并将焦点设置在input[data-type="search"]上,而不会出现任何打嗝。它正在检索看起来很棘手的值。

我尝试添加一个类,以便我不必通过数据属性调用它,但除非我刷新页面,否则仍然无法提取值。也许如果我在输入元素中注入一个函数,我可以用它来返回值?

0 个答案:

没有答案