2012-02-10 72 views
0

如何呼籲在數據過濾的搜索框進行的搜索詞的價值?移動的jquery - 列表視圖的數據過濾器值

前。

<ul id="search" data-role="listview" data-inset="true" data-filter="true"> 

var searchValue = document.getElementById("search").value 

(使用這不起作用,是指<ul>,不是搜索文本框)。

而且,我怎麼在搜索框鍵入時呼籲事件「KEYUP」?

$("#search").keyup(...) 

也不起作用。

想做到這一點,而無需創建一個單獨的搜索框,從那時起我就必須從頭開始構建的過濾系統。

對不起,我是個新手,所以任何幫助,將不勝感激。謝謝!

回答

5

工作的呢?

JS

$("input[data-type='search']").keyup(function() { 
    alert('Value: '+$(this).val()); 
}); 

替代

$("input:jqmData(type='search')").keyup(function() { 
    alert('Value: '+$(this).val()); 
}); 
+0

這工作很偉大,但如果我在同一個頁面多個輸入? – Pitto 2013-08-12 21:51:15

+0

傻我!好老的div和css選擇器:$(「#yourid input:jqmData(type ='search')」)。keyup(function()... :) – Pitto 2013-08-12 22:04:23

0

你在jQuery Mobile的這樣做呢?你知道jQM通過AJAX加載後續頁面嗎?如果#search id在後續頁面中加載,則需要使用live或on事件,並且您可以獲取具有相同id的多個元素被加載的實例等等 - 很多事情要小心 - if菲爾的答案不起作用,它應該如何設置您的jQM網站可能是一個問題。

否則它應該工作,除非你在Android的Firefox瀏覽器,我已經與keyup有問題。

1

如果你看一看的HTML對於初始化data-type="search"小部件,你會看到搜索表單是預先計劃只是列表視圖元素之前:

 <form class="ui-listview-filter ui-bar-c" role="search"> 
      <div class="ui-input-search ui-shadow-inset ui-btn-corner-all ui-btn-shadow ui-icon-searchfield ui-body-c"> 
       <input placeholder="Filter items..." data-type="search" class="ui-input-text ui-body-c"> 
       <a href="#" class="ui-input-clear ui-btn ui-btn-up-c ui-btn-icon-notext ui-btn-corner-all ui-shadow ui-input-clear-hidden" title="clear text" data-theme="c"> 
        <span class="ui-btn-inner ui-btn-corner-all"> 
         <span class="ui-btn-text">clear text</span> 
         <span class="ui-icon ui-icon-delete ui-icon-shadow"></span> 
        </span> 
       </a> 
      </div> 
     </form> 
     <ul data-role="listview" data-filter="true" class="ui-listview"> 
      <li data-theme="c" class="ui-btn ui-btn-icon-right ui-li-has-arrow ui-li ui-btn-up-c"><div class="ui-btn-inner ui-li"><div class="ui-btn-text"><a href="index.html" class="ui-link-inherit">Acura</a></div><span class="ui-icon ui-icon-arrow-r ui-icon-shadow"></span></div></li> 
     </ul> 

因此,考慮這些信息,你可以看到即分別選擇搜索輸入列表視圖元素,您選擇器要看起來是這樣的:

$("#search").prev().children().first().keyup(...) 

哪個選擇上同級元素列表視圖(<form class="ui-listview-finter">元素),那麼第一個孩子該元素()應該是<input data-type="search" />元素。這也是一個非常快速的選擇器,使用ID然後使用單層遍歷函數。