Javascript jQuery获取textbox的值
在提交表单之前,我需要编写一些jQuery/javascript来进行验证,因为我必须根据一些非常具体的结果进行检查。根据我的测试,我相信我正在使用验证测试访问表中正确的数据行$this,但是我无法在该行第二个td的文本框中键入值。有点不对劲: 警报$this.closest'td'。查找$input[name=test].val 这会阻止jQuery将值键入下面html的测试文本框中Javascript jQuery获取textbox的值,javascript,jquery,textbox,html.textboxfor,Javascript,Jquery,Textbox,Html.textboxfor,在提交表单之前,我需要编写一些jQuery/javascript来进行验证,因为我必须根据一些非常具体的结果进行检查。根据我的测试,我相信我正在使用验证测试访问表中正确的数据行$this,但是我无法在该行第二个td的文本框中键入值。有点不对劲: 警报$this.closest'td'。查找$input[name=test].val 这会阻止jQuery将值键入下面html的测试文本框中 <tr> <td> <select id="selectId3" nam
<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>
如果有人能描述正确的jQuery来获取textbox值,我将不胜感激
提前感谢。通过id访问它吗
$("#test").val();
在本例中,表示通过元素id查找元素
eq是基于0的,如果1表示第二个td,对于文本框,我们使用输入沿DOM树向上移动,而不是向下移动,因此如果$this等于当前行,您将永远无法使用最近的“td”在其中找到td标记
假设您不能像Jamie建议的那样简单地使用id属性直接访问输入,那么您需要使用:
$(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();
第一个更快$在我的脚本中,它引用了单元格td中的,就在包含我需要从中获取值的输入文本框的单元格之前。$this的引用和我需要从中获取值的单元格都在同一行tr中。因此我认为以下内容更接近我需要的内容,但仍然不起作用:alert$this.parent'tr'。find'td:eq0 input'.val;-如有任何额外建议,我们将不胜感激。的父级是。改变它,它应该会工作。talemyn-我没有使用你发布的确切功能,但它非常接近,你的建议给了我正确的方向,谢谢!
$(this).closest("tr").children("td:eq(0)").find("select").val();
$(this).closest("tr").children("td:eq(0) select").val();