Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery:使用数据对象作为数据属性创建锚_Jquery_Jquery Mobile - Fatal编程技术网

jQuery:使用数据对象作为数据属性创建锚

jQuery:使用数据对象作为数据属性创建锚,jquery,jquery-mobile,Jquery,Jquery Mobile,我在创建以数据对象(patientData)作为数据患者属性的锚点时遇到问题。这个例子说明了我正在尝试做什么。jQuery文档声明您可以向.data()传递名称和对象,但我无法设置它 我试过很多不同的方法。它们不使用任何.serialize()或JSON.stringify()。我认为这是一个简单的错误,或者我错过了一些重要的东西。注释“/”是我尝试将“数据患者”属性设置为数据对象的一些旧方法 // Define patient data as object var patientData =

我在创建以数据对象(patientData)作为数据患者属性的锚点时遇到问题。这个例子说明了我正在尝试做什么。jQuery文档声明您可以向.data()传递名称和对象,但我无法设置它

我试过很多不同的方法。它们不使用任何.serialize()或JSON.stringify()。我认为这是一个简单的错误,或者我错过了一些重要的东西。注释“/”是我尝试将“数据患者”属性设置为数据对象的一些旧方法

// 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);