jquery mobile data-lastval

时间:2016-03-11 10:47:47

标签: jquery-mobile autocomplete

我需要英特尔XDK项目的帮助。 经过研究,我成功地创建了一个自动完成表单。 但是,如果用户没有从筛选器列表中选择值, 并手动输入值,它不会保存到变量中。 可以在“data-lastval”中选择值。 这是DOM中出现的代码。但是,通过我所做的所有研究,我无法理解,如何获取data-lastval的这些内容并将其放入变量中。在选择列表项时,它将保存到隐藏的输入字段,并可以存储到localstorage。我需要帮助来构建这个javascript或jquery移动选择器,比如var xstreet = ... “如果”-logic将决定隐藏字段为空,然后将“xstreet”改为此。

<div class="ui-input-search ui-shadow-inset ui-input-has-clear ui-body-e ui-corner-all">
<input data-type="search" placeholder="street" data-lastval="2323">
<a href="#" class="ui-input-clear ui-btn ui-icon-delete ui-btn-icon-notext ui-corner-all" title="Clear text">Clear text</a></div>

src中的代码:

<div class="widget uib_w_15 form1widths labelwhite form1forms streetfield" data-uib="jquery_mobile/input" data-ver="0" id="streetfield"><input type="hidden" id="xd">
          <ul class="autocomplete"  data-role="listview" data-inset="true" data-filter="true" 
          data-filter-placeholder="street" data-filter-theme="e"></ul>
        </div>  

头脑中的代码:

<script>
            $('#streetfield ul').listview();
            var gcity = window.localStorage.getItem("city");

            $(document).on( "pageinit", "#form", function() {
              $(".autocomplete").on("listviewbeforefilter", function(e, data ) {        
                  var $ul=$(this);
                  var value = $( data.input ).val();
                  var dropdownContent = "" ;
                  $ul.html("") ;          
                  if ( value && value.length > 2 ) {
                    var response = ['data1','data2','data3'];
$('.autocomplete').show();           
            $ul.html( "<li><div class='ui-loader'><span class='ui-icon ui-icon-loading' ></span></div></li>" );
            $ul.listview( "refresh" );
            $.each(response, function( index, val ) {
            dropdownContent += "<li>" + val + "</li>";
            $ul.html( dropdownContent );
            $ul.listview( "refresh" );
            $ul.trigger( "updatelayout");  
                              });
                            }
                          });
                        });

            $(document).on( "click", ".autocomplete li", function() {      
                var selectedItem = $(this).html();
                $(this).parent().parent().find('input').val(selectedItem);   
                $('.autocomplete').hide();     
                    }); 


 </script>

1 个答案:

答案 0 :(得分:0)

嗯,没有人帮忙。我想,这可能是解决方案。 我在另一个案例中找到了它。

var x = $(#id).attr('data-lastval')

也许它可以帮助别人。