關於此主題還有很多其他線程,但它們都不能解決我的問題。我試圖從我剛剛插入的輸入字段獲取值。我用這條線的JavaScript的插入我的輸入框:JQuery在點擊事件中獲取輸入框的值
processName.innerHTML = '<input type="text" id="ProcessNameChange" value="' + oldName + '" >';`
然後我嘗試使用訪問它:
var newName = $(this).closest("#ProcessNameChange").val();
上述這些問題都包裹在一個事件,一個按鈕單擊事件。如果你喜歡它,下面是整個功能。另外,如果您有更好的編寫代碼的方法,請隨時分享。
$('.Edit').click(function() {
if ($(this).attr("id") != "submitUpdate") {
$(this).attr("id", "submitUpdate");
$(this).text("Submit");
var closestTR = $(this).closest("tr");
var processName = closestTR.children()[2];
var processDescription = closestTR.children()[3];
var processID = closestTR.children()[4];
var oldName = processName.innerHTML;
var oldDesc = processDescription.innerHTML;
processName.innerHTML = '<input type="text" id="ProcessNameChange" value="' + oldName + '" >';
processDescription.innerHTML = '<input type="text" id="ProcessDescChange" value="' + oldDesc + '" > ';
submitButtonClick();
} else {
var newName = $(this).closest("#ProcessNameChange").val();
var newDesc = $(this).closest("#ProcessDescChange").val();
var processID = $(this).closest("tr").children()[4];
}
- >相關評論: 的輸入框中輸入HTML始終保持如下圖所示:它是通過比用JavaScript修改的中繼器全部採用。
<tr>
<td class="grid-main-detail"></td>
<td>
<input id="ProcessNameChange" type="text" value="PNameOld">
</td>
<td>
<input id="ProcessDescChange" type="text" value="PDescOld">
</td>
<td>
<td>3547556300824952452</td>
<td>Me </td>
<td>7/19/2013 2:32:48 PM</td>
</tr>
謝謝!
除非你的.edit類在你的輸入裏面,而不是基於你的js,否則最接近的是不會工作的。 http://api.jquery.com/closest/ – Huangism
@黃色,HTML在輸入框中永遠不會改變。一旦我插入它,它始終是 - 甚至在我改變它之後。 – gbam