我需要获取每个动态创建的行的值并打印这些值。当前代码的作用是它可以警告所有添加的值或打印到控制台。现在,我如何打印这些值?
例如,用户又添加了一行并选择了以下内容:
用户单击“获取值”后,所有值(Female、Lady、Male 和 Schertz)都必须打印到生成的表格中,并且页面应如下所示:
现在我有以下代码。
HTML View :
<button>Add More Order</button>
<button>Delete Added Order</button>
<div id="wrap" class="order-container">
<p>
<select class="getThis">
<option>--Gender--</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
<input type="text" class="getThis" placeholder="Name"/>
<br>
</p>
</div>
<input type="submit" id="getValues" value="Get Values"></input>
jQuery:
$(document).ready(function(){
//Add new row
$("button:nth-of-type(1)").click(function(){
$("#wrap").append("<p><select class='getThis'><option>--Gender--</option><option>Male</option><option>Female</option></select><input type='text' class='getThis' placeholder='Name'/><br></p>").trigger('create');
});
//Remove last added row
$("button:nth-of-type(2)").click(function(){
$("p:last-of-type").remove();
});
//alert values
$("#getValues").click(function() {
$(".getThis").each(function() {
var getThis = $(this).val();
//console.log(getThis);
alert(getThis);
});
});
}); // Document Ready End
这是一个JSfiddle进行演示。
有什么想法吗? Kamsahamnida!
最佳答案
您可以使用例如:
DEMO
$("#getValues").click(function () {
var $table = $('#resultTable').length ? $('#resultTable').find('tr:gt(0)').remove().end() : $('<table/>').append('<tr><th>Gender</th><th>Name</th>').appendTo('body').attr('id', 'resultTable');
var getValues = $("p:has(select.getThis)").find('select.getThis').map(function () {
return {
gender: this.value,
name: $(this).next().val()
}
}).get();
$.each(getValues, function (_, fields) {
$table.append($('<tr/>', {
html: '<td>' + fields.gender + '</td><td>' + fields.name + '</td>'
}))
});
});
关于javascript - 通过 PHP/jQuery 获取动态创建行的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23336114/