2016-03-11 54 views
0

我需要英特爾XDK項目的幫助。 經過研究,我成功地創建了一個自動完成表單。 但是,如果用戶未選擇過濾器列表中的值 並手動輸入該值,則不會將其保存到變量中。 可以選擇「data-lastval」中的值。 以下是DOM中出現的代碼。但是通過我所做的所有研究,我無法理解,如何獲取data-lastval的這些內容並將其放入一個變量中。在選擇列表項目時,它會保存到隱藏的輸入字段,並可以存儲到本地存儲。我需要幫助建立這個JavaScript或jQuery的移動選擇器,如var xstreet = ... 「如果」-logic將決定,隱藏的字段是空的,然後把「xstreet」,而不是在這個。jquery mobile data-lastval

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

代碼HEAD:

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

回答

0

好了,沒有人幫助。我認爲,這可能是解決方案。 我發現它在另一種情況下。

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

也許它可以幫助別人。