我已经倾注了SO寻找答案(我认为这看似简单)的问题。我想动态创建一个jquery对话框,但我希望对话框的文本/正文包含一个href - 需要使用对话框动态创建。类似的东西:
var newDiv = $(document.createElement('div'));
var j = 1;
newDiv.dialog({
resizable: false,
height:240,
modal: true,
text: '<a href="html://test.com">test link' + j + ' within a dialog body</a>',
title: "MyDialog",
buttons: {
"Add Related": function() {
$( this ).dialog( "close" );
window.location = "addRelated.php?id="+id;
},
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
text参数似乎只带文字。有人可以帮我吗?感谢。
答案 0 :(得分:1)
假设你在jQuery.ui中使用jQuery,你可以在div中创建所有的HTML:
var newDiv = $('<div><a href="html://test.com">test link' + j + ' within a dialog body</a></div>');
newDiv.dialog(...);
因此,无需使用未记录的文本属性。
答案 1 :(得分:1)
创建div并向其添加文本的方法是:
var j = 1;
var newDiv = $('<div/>').append('<a href="html://test.com">test link' + j + ' within a dialog body</a>');
jQuery UI对话框的文本属性仅用于定义按钮标签(请参阅:option-buttons)。
所以我的代码片段是:
$(function () {
var j = 1;
var newDiv = $('<div/>').append('<a href="html://test.com">test link' + j + ' within a dialog body</a>');
newDiv.dialog({
resizable: false,
height:240,
modal: true,
title: "MyDialog",
buttons: {
"Add Related": function() {
$( this ).dialog( "close" );
window.location = "addRelated.php?id="+id;
},
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
});
&#13;
<link href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet"/>
<script src="https://code.jquery.com/jquery-1.12.1.min.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
&#13;
实现此目标的另一种方法基于open event:
$(function () {
var newDiv = $('<div/>');
var j = 1;
newDiv.dialog({
resizable: false,
height:240,
modal: true,
title: "MyDialog",
buttons: {
"Add Related": function() {
$( this ).dialog( "close" );
window.location = "addRelated.php?id="+id;
},
Cancel: function() {
$( this ).dialog( "close" );
}
},
open: function( event, ui ) {
$(this).append('<a href="html://test.com">test link' + j + ' within a dialog body</a>');
}
});
});
&#13;
<link href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet"/>
<script src="https://code.jquery.com/jquery-1.12.1.min.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
&#13;