[英]jQuery to get value of textbox
在提交表單之前,我需要編寫一些jQuery / javascript來進行一些驗證,因為我必須根據一些非常具體的結果進行檢查。 根據我的測試,我相信我在我的表中使用我的驗證測試訪問正確的數據行$(this),但是我無法將值輸入到行的第二個td的文本框中。 有些事情不正確:
alert($(this).closest('td').find($("input[name=test]")).val())
這阻止了jQuery將值輸入到下面html的測試文本框中。
<tr>
<td>
<select id="selectId3" name="selectId3" data-val-required="The selectId3 field is required." data-val-number="The field selectId3 must be a number." data-val="true">
<option value="">-- Select Area --</option>
<option value="2">2</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="10">10</option>
<option value="13">13</option>
<option value="16">16</option>
<option value="17">17</option>
</select>
</td>
<td>
<span style="label2">
<input id="test" type="text" value="" name="test">
</span>
</td>
<td> </td>
$('#myForm').submit(function () {
$("select").each(function () {
if (($(this).val() != '') && ($(this).val() != '-- Select Area --')) {
alert($(this).closest('td').find($("input[name=test]")).val());
}
});
return false;
});
如果有人能夠描述正確的jQuery來獲取文本框值,我將非常感激。
提前致謝。
var textboxvalue= $(this).closest('td:eq(1) input').val();
eq為0,如果為1則為第二個td,對於文本框,我們使用input
closest()
沿着DOM樹向上移動,而不是向下移動,所以如果$(this)
等於當前行,你將永遠不會使用closest('td')
在其中找到td
標簽。
假設您不能簡單地使用id
屬性直接訪問input
,正如Jamie建議的那樣,您需要使用:
$(this).children("td:eq(0)");
。 。 。 獲取行的第一個td
,假設$(this)
引用了您想要的行。 要訪問其中的select值,請使用:
$(this).children("td:eq(0)").find("select").val();
編輯:實際上,考慮到你的代碼,你可以通過一系列方法來訪問select
元素的值,但是如果沒有看到其余的代碼,很難知道哪個是最有效的,知道上下文的邏輯。
更新:根據您的評論,請嘗試以下代碼:
$(this).closest("tr").children("td:eq(0)").find("select").val();
。 。 。 要么 。 。 。
$(this).closest("tr").children("td:eq(0) select").val();
(第一個更快)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.