复制值并减少代码
Copy value and reduce code
我将值从输入复制到具有相同名称的其他输入:
$('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());
如何减少这段代码?想动态添加字段,手动输入不太舒服。
要将其干燥,您可以将其放入将输入的标识名称作为参数传递的函数中,如下所示:
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']);
你可以试试下面的代码 -
使用 jQuery 以选择器开头来迭代名称以 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);
});
我将值从输入复制到具有相同名称的其他输入:
$('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());
如何减少这段代码?想动态添加字段,手动输入不太舒服。
要将其干燥,您可以将其放入将输入的标识名称作为参数传递的函数中,如下所示:
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']);
你可以试试下面的代码 -
使用 jQuery 以选择器开头来迭代名称以 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);
});