我将值从输入复制到具有相同名称的其他输入:
$('input[name="pods_field_post_title"]').val($('#selected input[name="pods_field_post_title"]').val());
$('input[name="pods_field_name"]').val($('#selected input[name="pods_field_name"]').val());
$('input[name="pods_field_street"]').val($('#selected input[name="pods_field_street"]').val());
$('input[name="pods_field_city"]').val($('#selected input[name="pods_field_city"]').val());
如何减少此代码?想要动态添加字段,手动输入就不合适了。
答案 0 :(得分:1)
您可以尝试以下代码 -
使用jQuery start with selector来迭代名称以pods_field_post
$('input[name^="pods_field_post"]').each(function(){
var inputName = $(this).attr('name');
var newVal = $('#selected input[name="'+inputName +'"]').val();
$(this).val(newVal);
});
答案 1 :(得分:0)
要干它,你可以将它放入一个函数,将输入的识别名称作为参数传递,如下所示:
function copyValue(fieldName) {
$('input[name="' + fieldName + '"]').val($('#selected input[name="' + fieldName + '"]').val());
}
copyValue('pods_field_post_title');
copyValue('pods_field_name');
copyValue('pods_field_street');
copyValue('pods_field_city');
如果在一个实例中要复制很多字段,您也可以更改参数以接受数组:
function copyValues(fieldNames) {
for (var i = 0; i < fieldNames.length; i++) {
$('input[name="' + fieldNames[i] + '"]').val($('#selected input[name="' + fieldNames[i] + '"]').val());
}
}
copyValues(['pods_field_post_title', 'pods_field_name', 'pods_field_street', 'pods_field_city']);