2015-04-04 48 views
0

我有一個包含多行輸入框的表格。整個表格及其內容是使用jQuery Post動態創建的。表中的每個tr都有7個td,第一個td包含一個單選按鈕,剩餘的文本輸入框帶有值。用戶必須更改文本框中的值並單擊單選按鈕以更新相同的值。如果在所選行中的輸入框中獲取值?使用jQuery獲取表格中輸入框的值

我用下面的函數彈出警告消息

jQuery(document).delegate("[name='edit']", "click",function (e) { 
alert("clicked");} 

這是工作。我想用這個來獲取輸入框的值。最接近的tr輸入。但不知道語法。請幫助

腳本創建該表是這樣的:

echo'<form id="shiftentry" name="shiftentry" >'; 


echo "Date:<input id=shiftdate value='".$date."'/>"; 
echo "Unit:<input id=shiftdate value='".$unit."'/>"; 
echo "Shift:<input id=shiftdate value='".$shift."'/><br/>"; 

    echo "<table><tr><th>No</th><th>Ele</th><th>Location</th><th>Drate </th><th>H3 Val </th><th>Part </th> <th>Iod</th><th>Cont. </th></tr>"; 
      while($row2=mysql_fetch_array($result_sec)) 
       { 
       echo "<tr>"; 
    echo "<td><input name='edit' type='radio'/></td>"; 
       echo "<td>".++$rc."</td>"; 
       echo "<td><input size='5' id='".$row2['ele']."' value='".$row2['ele']."' /></td>"; 
       echo "<td><input id='".$row2['loc_id']."' value='".$row2['loc']."' /></td>"; 
       echo "<td><input size='5' id='drate".$rc."' value='".$row2['drate']."'/></td>"; 
       echo "<td><input size='5' id='h3".$rc."' value='0' /></td>"; 
       echo "<td><input size='5' id='part".$rc."' value='0' /></td>"; 
       echo "<td><input size='5' id='iod".$rc."' value='0' /></td>"; 
       echo "<td><input size='5' id='cont".$rc."' value='0' /></td>"; 
       echo "</tr>"; 
      } 



    echo " </table>"; 



    echo '<div align="center">'; 
    echo '<input type="submit" id="submit2" name="submit2" value="Submit" width="30" />'; 
    echo '</div>'; 

echo '</form>'; 
+0

您沒有任何元素的名稱'編輯',所以我們應該在哪裏開始? – adeneo 2015-04-04 10:27:18

+0

其中是「[name ='edit']」?? – MKD 2015-04-04 10:28:08

+0

請參閱編輯問題 – mansoondreamz 2015-04-04 10:47:38

回答

0

就以.closest():eq()選擇看看。

jQuery(document).delegate("input[name='edit']", "click",function (e) { 

    // Will return the Parent Row of clicked input 
    var _tr = $(this).closest('tr'); 

    // You have 9 td in particular row 
    // Let's access the 7th input box: <input size='5' id='iod".$rc."' value='0' /> 
    $('td:eq(7) input', _tr).val(); // will return its value 
}); 
+0

您的答案中有兩個錯誤,但是,它是非常棒的並且工作正常。萬分感謝。 (錯誤是,變量_tr在第三行中變爲_row,第8個td qill是:eq(7),因爲編號從0開始) – mansoondreamz 2015-04-06 10:25:24

+0

@mansoondreamz thanks;),已更新。 – 2015-04-06 11:43:29