jQuery:使用数据对象作为数据属性创建锚
我在创建以数据对象(patientData)作为数据患者属性的锚点时遇到问题。这个例子说明了我正在尝试做什么。jQuery文档声明您可以向.data()传递名称和对象,但我无法设置它 我试过很多不同的方法。它们不使用任何.serialize()或JSON.stringify()。我认为这是一个简单的错误,或者我错过了一些重要的东西。注释“/”是我尝试将“数据患者”属性设置为数据对象的一些旧方法jQuery:使用数据对象作为数据属性创建锚,jquery,jquery-mobile,Jquery,Jquery Mobile,我在创建以数据对象(patientData)作为数据患者属性的锚点时遇到问题。这个例子说明了我正在尝试做什么。jQuery文档声明您可以向.data()传递名称和对象,但我无法设置它 我试过很多不同的方法。它们不使用任何.serialize()或JSON.stringify()。我认为这是一个简单的错误,或者我错过了一些重要的东西。注释“/”是我尝试将“数据患者”属性设置为数据对象的一些旧方法 // Define patient data as object var patientData =
// Define patient data as object
var patientData = {};
if (appt.appt_id) patientData.appt_id = appt.appt_id;
if (appt.enc_id) patientData.enc_id = appt.enc_id;
if (appt.person_id) patientData.person_id = appt.person_id;
var patientAnchor = $('<a />', {
href: myUrl,
html: patientHtml,
class: 'apptSet',
// 'data-patient': JSON.stringify(patientData),
// 'data-appt_id': (appt.appt_id) ? appt.appt_id : null,
// 'data-enc_id': (appt.enc_id) ? appt.enc_id : null,
// 'data-person_id': (appt.person_id) ? appt.person_id : null,
'data-ajax': 'true'
}).data('patient', patientData);
console.log(patientAnchor);
您确定数据属性不工作吗?您将patientData作为任何空对象,因此如果未定义appt属性,patientData仍将为空:
if (appt.appt_id) patientData.appt_id = appt.appt_id;
if (appt.enc_id) patientData.enc_id = appt.enc_id;
if (appt.person_id) patientData.person_id = appt.person_id;
尝试执行以下操作以查看患者的数据:
console.log(patientAnchor.data('patient'));
另外,尝试静态设置,看看是否有效:
.data('patient', {appt_id: 12, enc_id: 23, person_id: 3);
是的,始终设置应用程序id。另外两个是可选的。我将根据您的建议运行一个JSFIDLE。Console.log()工作正常。JSFiddle:但是,我怎样才能看到来自googlechrome的“Inspect元素”的数据呢?它不会显示在元素的HTML属性或元素属性中。还是我错过了?”“数据ajax”显示在“数据集:ajax”下。请参阅以下文章:
.data('patient', {appt_id: 12, enc_id: 23, person_id: 3);