Javascript 返回[object]值的jQuery(镜像文本输入字段的值)
我有4个单一形式的输入:Javascript 返回[object]值的jQuery(镜像文本输入字段的值),javascript,php,jquery,forms,input,Javascript,Php,Jquery,Forms,Input,我有4个单一形式的输入: 1-名称 2-名字 3-姓氏 4-员工姓名(隐藏输入) 每次更新/更改名称输入时,我需要将名称文本字段中的值镜像到员工姓名文本字段中。我需要实时反映这些变化,我能够用我的代码实现这一点 我遇到的问题是:我需要检查Name输入是否存在,如果不存在,则使用First Name和Last Name输入值 我能够成功镜像名称文本值,但在代码必须使用名字和姓氏值的情况下,镜像的值显示为:[object object] 我完全不知所措,因为console.log()显示了正确的结果
1-名称
2-名字
3-姓氏
4-员工姓名(隐藏输入) 每次更新/更改名称输入时,我需要将名称文本字段中的值镜像到员工姓名文本字段中。我需要实时反映这些变化,我能够用我的代码实现这一点 我遇到的问题是:我需要检查Name输入是否存在,如果不存在,则使用First Name和Last Name输入值 我能够成功镜像名称文本值,但在代码必须使用名字和姓氏值的情况下,镜像的值显示为:
[object object]
我完全不知所措,因为console.log()显示了正确的结果
下面是我正在使用的代码:
$( document ).ready(function() {
jQuery.fn.existsWithValue = function() {
return this.length && this.val().length;
}
var name_field = $('form[name="card_form"] input[placeholder="Name"]');
// Function that mirrors the "Staff Name" and "Name" fields everytime the "Name" field is updated
// Mirrors "Name", "First Name" or "Last Name" inputs, depending on what input exists...
$('form[name="card_form"] input[placeholder="Name"], form[name="card_form"] input[placeholder="First Name"], form[name="card_form"] input[placeholder="Last Name"]').bind('keyup change', function(e) {
if ($(name_field).existsWithValue()) {
// "Name" input exists, mirror "Name" input value:
var name_field_final = $('form[name="card_form"] input[placeholder="Name"]').val();
} else {
// "Name" input does not exist, mirror "First Name" and "Last Name" input values:
var first_name = $('form[name="card_form"] input[placeholder="First Name"]').val();
var last_name = $('form[name="card_form"] input[placeholder="Last Name"]').val();
var name_field_final = first_name + ' ' + last_name;
}
// MIRROR VALUES in "Staff" input:
$('form[name="card_form"] input[name="staff"]').attr("value", $(name_field_final));
// DEBUG
console.log( first_name + " : " + last_name );
});
});
当属性只能是字符串时,将对象作为值设置为属性可能会导致此问题。最好使用
val()
改变
// MIRROR VALUES in "Staff" input:
$('form[name="card_form"] input[name="staff"]').attr("value", $(name_field_final));
到
从这里删除
$
,使其成为jQuery对象
// MIRROR VALUES in "Staff" input:
$('form[name="card_form"] input[name="staff"]').val (name_field_final);
// MIRROR VALUES in "Staff" input:
$('form[name="card_form"] input[name="staff"]').val (name_field_final);