Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery获取textbox的值_Javascript_Jquery_Textbox_Html.textboxfor - Fatal编程技术网

Javascript jQuery获取textbox的值

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

在提交表单之前,我需要编写一些jQuery/javascript来进行验证,因为我必须根据一些非常具体的结果进行检查。根据我的测试,我相信我正在使用验证测试访问表中正确的数据行$this,但是我无法在该行第二个td的文本框中键入值。有点不对劲:

警报$this.closest'td'。查找$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>
如果有人能描述正确的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();