在JQuery中,为什么我要information Undefined使用以下代码?
JS - 右边部分是Undefined
var s = $("[name='CountAnswer']").val();
Run Code Online (Sandbox Code Playgroud)
HTML
<input style="width:150px" type="text" id="CountAnswer_1_" name="CountAnswer[1]">
<input style="width:150px" type="text" id="CountAnswer_2_" name="CountAnswer[2]">
<input style="width:150px" type="text" id="CountAnswer_3_" name="CountAnswer[3]">
Run Code Online (Sandbox Code Playgroud)
你正在使用相等比较,但你必须使用通配符j j 查询属性开始, ^但上面的语句将给出第一个匹配元素的值.您可以使用每个元素迭代所有元素.
var s = $("[name^='CountAnswer']").val();
Run Code Online (Sandbox Code Playgroud)
使用each()迭代.
$("[name^='CountAnswer']").each(function(){
alert($(this).val());
//or
alert(this.value);
});
Run Code Online (Sandbox Code Playgroud)
编辑基于OP评论.获取所有匹配的值.
strValues = $("[name^='CountAnswer']").map(function(){
return this.value;
}).get().join(',');
Run Code Online (Sandbox Code Playgroud)
因为您没有名称为==的元素CountAnswer.您需要指定特定名称,例如:
$("[name='CountAnswer[1]']").val();
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用"Begins With"通配符(^)来匹配名称以下开头的所有元素CountAnswer:
$("[name^='CountAnswer']").val();
Run Code Online (Sandbox Code Playgroud)
当然,这只会返回匹配集中第一个元素的值,因为这是行为val().
| 归档时间: |
|
| 查看次数: |
7251 次 |
| 最近记录: |