2014-02-26 48 views
0

我有一個輸入的表,我想點擊一個按鈕,然後得到一些輸入的數值沒有工作一個div輸入。我只是不明白如何以一種簡單的方式到達那裏,因爲我的代碼一直都是未定義的。使用jQuery發現裏面果然

代碼表:

<table align="center" class='hovertable' width="90%"> 
    <tr> 
     <div class='line' name='div1'> 
      <input id='' class='rpiid' type='hidden' name='rpiid[0]' value='00000000c83de86' /> 
      <input id='' class='sensor_id' type='hidden' name='sensor_id[0]' value='1' /> 
      <input id='' class='when' type='hidden' name='when[0]' value='2014-02-24 05:00:03' /> 
      <td align='center'>2014-02-24</td> 
      <td> 
       <input id='' class='val_displayed' type='text' name='val[0]' value='0366167' /> 
      </td> 
      <td> 
       <input id='' class='train' type='checkbox' name='train[0]' value='True' /> 
      </td> 
      <td> 
       <input id='' class='valid' type='checkbox' name='valid[0]' value='True' /> 
      </td> 
      <td> 
       <button id='0' class='submit_button' type='submit' name='button' value='update'>update</button> 
      </td> 
     </div> 
    </tr> 
    <tr> 
     <div class='line' name='div2'> 
      <input id='' class='rpiid' type='hidden' name='rpiid[1]' value='00000000c83de86' /> 
      <input id='' class='sensor_id' type='hidden' name='sensor_id[1]' value='1' /> 
      <input id='' class='when' type='hidden' name='when[1]' value='2014-02-25 05:00:03' /> 
      <td align='center'>2014-02-25</td> 
      <td> 
       <input id='' class='val_displayed' type='text' name='val[1]' value='0366132' /> 
      </td> 
      <td> 
       <input id='' class='train' type='hidden' name='train[1]' value='False' /> 
       <input id='' class='train' type='checkbox' name='train[1]' value='True' /> 
      </td> 
      <td> 
       <input id='' class='valid' type='hidden' name='valid[1]' value='False' /> 
       <input id='' class='valid' type='checkbox' name='valid[1]' value='True' /> 
      </td> 
      <td> 
       <button id='1' class='submit_button' type='submit' name='button' value='update'>update</button> 
      </td> 
     </div> 
    </tr> 
</table> 

代碼的jQuery:

$(document).ready(function() { 
    $('.submit_button').click(function() { 
     var val = $(this).closest('.when').attr('value'); 
     alert('the value is ' + val); 
     return false; 
    }); 
}); 

的的jsfiddle: http://jsfiddle.net/starcraft04/BLCJ5/10/

謝謝如果你能幫助,

約翰。

回答

0

你的HTML無效,這樣你就不會得到預期的result.If你想要得到的結果,你需要把元素在TD

<table align="center" class='hovertable' width="90%"> 
<tr> 
    <td> 
    <div class='line' name='div1'> 
     <input id='' class='rpiid' type='hidden' name='rpiid[0]' value='00000000c83de86' /> 
     <input id='' class='sensor_id' type='hidden' name='sensor_id[0]' value='1' /> 
     <input id='' class='when' type='hidden' name='when[0]' value='2014-02-24 05:00:03' /> 
     </div> 
</td> 
     <td align='center'>2014-02-24</td> 
     <td> 
      <input id='' class='val_displayed' type='text' name='val[0]' value='0366167' /> 
     </td> 
     <td> 
      <input id='' class='train' type='checkbox' name='train[0]' value='True' /> 
     </td> 
     <td> 
      <input id='' class='valid' type='checkbox' name='valid[0]' value='True' /> 
     </td> 
     <td> 
      <button id='0' class='submit_button' type='submit' name='button' value='update'>update</button> 
     </td> 

</tr> 
<tr> 
    <td> 
    <div class='line' name='div2'> 
     <input id='' class='rpiid' type='hidden' name='rpiid[1]' value='00000000c83de86' /> 
     <input id='' class='sensor_id' type='hidden' name='sensor_id[1]' value='1' /> 
     <input id='' class='when' type='hidden' name='when[1]' value='2014-02-25 05:00:03' /> 
     </div> 
</td> 
     <td align='center'>2014-02-25</td> 
     <td> 
      <input id='' class='val_displayed' type='text' name='val[1]' value='0366132' /> 
     </td> 
     <td> 
      <input id='' class='train' type='hidden' name='train[1]' value='False' /> 
      <input id='' class='train' type='checkbox' name='train[1]' value='True' /> 
     </td> 
     <td> 
      <input id='' class='valid' type='hidden' name='valid[1]' value='False' /> 
      <input id='' class='valid' type='checkbox' name='valid[1]' value='True' /> 
     </td> 
     <td> 
      <button id='1' class='submit_button' type='submit' name='button' value='update'>update</button> 
     </td> 

    </tr> 
    </table> 

的Javascript

$('.submit_button').click(function() { 
     var val = $(this).closest('tr').find('.when').val(); 
     alert('the value is ' + val); 
     return false; 
    }); 

Fiddle

1

這是因爲當你寫:

$('.submit_button').click(function() { 
    var val = $(this).closest('.when').attr('value'); 

when類的元素必須是父母(或祖父母或盛大隆重的父母等)提交按鈕。

試試這個:(從.submit_button查找最接近.line,然後找一個.when有)

$(document).ready(function() { 
    $('.submit_button').click(function() { 
     var val = $(this).closest('.line').find('.when').attr('value'); 
     alert('the value is ' + val); 
     return false; 
    }); 
}); 

我還編輯你的HTML,看到它的更新小提琴:http://jsfiddle.net/BLCJ5/15/

的問題是,您不能將div作爲<tr>元素的直接子女。

+0

我只是想在http://jsfiddle.net/starcraft04/BLCJ5代碼/ 14 /但它不是在小提琴手工作:( – user2040597

+0

我已經測試過你的編輯,但仍然未定義在提琴手中。看到我的評論之前與提琴手編號14. – user2040597

+0

我編輯了我的answear。看到更新的小提琴。 – kamilkp