我想在点击按钮时获取每个值。 我错过了什么?
//add row
$("#btnAdd").click(function(){
$(".oItem:last").clone().insertAfter(".oItem:last");
});
//submit
$("#btnCalc").click(function(){
$("[id^=txtItemName]").each(function(){
alert($("#txtItemName").val());
});
});
我在这里小提琴
https://jsfiddle.net/k5ndm840/3/
感谢
答案 0 :(得分:3)
您为每个要添加的新字段使用相同ID 。你应该在你的情况下使用class而不是id,因为id必须是唯一的。
答案 1 :(得分:1)
使用$(this).val();
,因为您将获得this
=>每次迭代中都有current
个元素。在each
回调中,this
指的是element
$("#txtItemName")
将始终选择id
为txtItemName
试试这个:
$("#btnAdd").click(function() {
$(".oItem:last").clone().insertAfter(".oItem:last");
});
$("#btnCalc").click(function() {
$("[id^=txtItemName]").each(function() {
alert($(this).val());
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="btnAdd">Add</button>
<button id="btnCalc">Submit</button>
<div class="masterItem">
<div class="row oItem">
<div class="col-md-4">
<div class="form-group">
<div class="input-group"><span class="input-group-addon" style="font-weight:bold;color:#330099">Quantity</span>
<input id="txtItemName" type="text" class="form-control" placeholder="put random number here" aria-describedby="basic-addon1">
</div>
</div>
</div>
</div>
</div>
修改:根据www
标准,文档中不得有多个具有相同ID值的元素。 [{{3} }]。当您处理attribute
选择器时,您没有遇到任何问题,但 ID必须是独一无二的
修改:要查找父元素下的其他子元素,请使用.closest()
查找parent element
和.find()
以选择父元素。
试试这个:
$("#btnAdd").click(function() {
$(".oItem:last").clone().insertAfter(".oItem:last");
});
$("#btnCalc").click(function() {
$("[id^=txtItemName]").each(function() {
alert($(this).val());
alert($(this).closest(".form-group").find('[id=txtTwo]').val());
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<button id="btnAdd">Add</button>
<button id="btnCalc">Submit</button>
<div class="masterItem">
<div class="row oItem">
<div class="col-md-4">
<div class="form-group">
<div class="input-group"><span class="input-group-addon" style="font-weight:bold;color:#330099">Quantity</span>
<input id="txtItemName" type="text" class="form-control" placeholder="put random number here" aria-describedby="basic-addon1">
<input id="txtTwo" placeholder="second input">
</div>
</div>
</div>
</div>
</div>
答案 2 :(得分:0)
当您尝试访问具有id的元素时,它将始终给出与选择器条件匹配的第一个元素。
import myImplicitStrColumn
val parser = get[Option[String]]("col")
这将始终给出第一个匹配元素的值。试着这样做。
$("#txtItemName").val()