此SO answer描述了如何将数据传递到对话框。
但是如果我需要将对象传递给对话框并在不同的字段中显示其属性,它是如何完成的?
答案 0 :(得分:1)
一个javascript对象?然后,您还可以使用.data('dataName')
传递一个,并使用$(this).data('dataName').myPropertyName
在对话框中获取一个属性。那么,这样的事可能呢?
var car = {type:"Fiat", model:"500", color:"white"};//An object
$('#click').click(function (e){
e.preventDefault();
$("#dialog-confirm").data('aCar', car).dialog('open');
});
$("#dialog-confirm").dialog({
autoOpen: false,
title:'My dialog',
open:function(){
$('.myCar').append($(this).data('aCar').type);
$('.myModel').append($(this).data('aCar').model);
$('.myColor').append($(this).data('aCar').color);
}
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.0/jquery-ui.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<a:href="#3" id="click">click</a>
<div id="dialog-confirm">
<p class="myCar">My car is a:</p>
<p class="myModel">Model:</p>
<p class="myColor">Color:</p>
</div>
&#13;