2013-09-25 105 views
0

文本輸入過濾正在工作,但我不知道如何使用組合框實現類別。該類別正在使用那裏的年齡。 請幫我把這個任務:(使用組合框類和文本框過濾javascript

這是我的示例代碼

這是我的看法

<select> 
    <option>all age</option> 
    <option>16</option> 
    <option>18</option> 
    <option>20</option> 
</select> 

    <input /> 
    <table class="AvailableGroupLab availGrpLabs avalLabs"> 
     <thead> 
     <tr> 
      <th>Name</th> 
      <th>Age</th> 
     </tr> 
     </thead> 
    <tbody> 

     <tr> 
      <td><span>wewe</span> 

      </td> 
      <td>16</td> 
     </tr> 
     <tr> 
      <td><span>Melvin</span> 

      </td> 
      <td>18</td> 
     </tr> 
     <tr> 
      <td><span>Marvin</span> 

      </td> 
      <td>20</td> 
     </tr> 

      <tr> 
      <td><span>wewex</span> 

      </td> 
      <td>20</td> 
     </tr> 
     </tbody> 
    </table> 

這是JavaScript的

function filter(element) { 
    var $trs = $('.AvailableGroupLab tbody tr').hide(); 
    var regexp = new RegExp($(element).val(), 'i'); 

    var $valid = $trs.filter(function() { 
     return regexp.test($(this).find('td:first-child').text()) 
    }).show(); 

    $trs.not($valid).hide() 
} 

$('input').on('keyup change', function() { 
    filter(this); 
}) 
+0

please .......... – wewe

回答

1

的問題你的代碼是你比較正則表達式與tr的第一個孩子,而喲你的年齡在第二個孩子。

var $valid = $trs.filter(function() { 
    return regexp.test($(this).find('td:eq(1)').text()) 
    // or 
    return regexp.test($(this).find('td:last-child').text()) 
}).show(); 

我希望這會幫助你。

+0

請檢查jsfiddle http://jsfiddle.net/NpLDn/,使用相同的代碼進行下拉操作 –

+0

hello sir這很好,但輸入的文字是名稱 – wewe

+0

你能改變它嗎?請 – wewe