HTML:
<form id=f1>
<div>
<input id=text>
</div>
</form>
<form id=f2>
<div>
<input id=text>
</div>
</form>
jQuery的:
$('form').submit(function(){
var id=$(this).attr('id');
var text=$('#'+id+'#text').val();
alert(text);
});
结果:
未定义
我需要选择输入,但我不知道如何,
此问题已更正
答案 0 :(得分:2)
您需要在选择器的各个部分之间留一个空格:
var text = $("#" + id + " #text").val();
但根本不需要使用ID:
var text = $(this).find("#text").val();
此外,ID应该是唯一的,您不能多次id="text"
。您应该使用class="text"
,然后它将是:
var text = $(this).find(".text").val();
$('form').submit(function(){
var text=$(this).find(".text").val();
console.log(text);
return false;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id=f1>
<div>
<input class=text>
</div>
</form>
<form id=f2>
<div>
<input class=text>
</div>
</form>
答案 1 :(得分:0)
首先,你不应该使用多个id! ID应该是唯一的。
在您的示例中,您将错误的选择器传递给jQuery函数,它应该是:
var text = $('#' + id + ' #text');
(选择器之间缺少空格)