我有一个包含多个文本框的表单,我可以在其中键入材料名称,在另一个框中我可以键入材料价格。
当用户点击提交时,我显示一个包含输入材料和价格的确认框。在此确认框中,我想显示所有输入的matr_name以及相关的matr_price(每行一个)。我似乎无法按需要显示它,下面的脚本输出如下:
matr_name
matr_price
matr_name
matr_price
等。
我希望它显示如下:
matr_name:matr_price
matr_name:matr_price
matr_name:matr_price
等
我得到的只是下面的脚本,它给了我正确的输出,只是没有在确认框中显示我想要的。
脚本
var matr_name = $("input[name*='matr']").map(function() {
return $(this).val()}).get().join('\n');
var confirm_form = confirm("Rep:\n" + matr_name);
console.log("Mart.: " + matr_name);
if(confirm_form == true)
{
return true;
}
else {
return false;
}
}
表单的一部分:
<tr>
<td><input type="text" name="matr_name[]" id="matr_name" ></td>
<td><input type="text" name="matr_price[]" id="matr_price"/></td>
</tr>
<tr>
<td><input type="text" name="matr_name[]" id="matr_name" ></td>
<td><input type="text" name="matr_price[]" id="matr_price"/></td>
</tr>
<tr>
<td><input type="text" name="matr_name[]" id="matr_name" ></td>
<td><input type="text" name="matr_price[]" id="matr_price"/></td>
</tr>
<tr>
<td><input type="text" name="matr_name[]" id="matr_name" ></td>
<td><input type="text" name="matr_price[]" id="matr_price"/></td>
</tr>
<input type="submit" name="submit_name" id="submit_id" class="submit" value="Done" onclick="javascript:return show_confirm();"/>
答案 0 :(得分:3)
您可以在值之后添加不同的字符串,具体取决于名称:
var matr_name = $("input[name*='matr']").map(function() {
return $(this).val() + ($(this).attr('name') == 'matr_name[]' ? ': ' : '\n');
}).get().join('');
或:
var matr_name = $("input[name*='matr']").map(function() {
if ($(this).attr('name') == 'matr_name[]') {
return $(this).val() + ': ';
} else {
return $(this).val() + '\n';
}
}).get().join('');