我是 jQuery 新手,如果这是一个简单的问题,请原谅我。
我正在尝试从 onClick 事件创建一个对话框,其中包括:
1) 下拉列表 2) 文本区域(高度可能为 300 像素) 3) 是/否按钮
我已经到了可以显示带有“是/否”按钮的对话框的阶段,但是我正在努力包含一个下拉列表和 textarea 字段。
当前代码:
function placeOrder() {
if ($('#dialogDiv').length == 0) {
$('body').append("<div id='dialogDiv'><div/>");
}
var dialogDiv = $('#dialogDiv');
dialogDiv.attr("Title", "Are you sure you want to place this order.");
dialogDiv.html("Are you sure you want to place this order? Please select delivery option from the drop down and enter any special requirements in the text field.");
dialogDiv.dialog({
modal : true,
buttons : [
{
text : "Yes",
class : 'Green',
click : function() {
// Some functionality.
}
},
{
text : "No",
class : 'Red',
click : function() {
// Some functionality.
}
} ]
});
}
如果有更好的方式来构建我的对话,我很高兴听到。
谢谢
- 更新 - - - - - - - - - -
谢谢 - 这似乎有工作,但仍然有一些问题。
我已经在 body 标记之外创建了 div 元素,但是,当页面首次加载时,我可以在页面底部看到下拉菜单和文本区域。对话框出现后,下拉菜单和文本区域显示在对话框中,但是,单击否后它们会从页面底部消失(正如我在页面加载时所预期的那样)。
我认为这是因为我没有在页面加载时隐藏 div,尝试使用:
$("#dialogDiv").hide();
虽然这隐藏了 PageLoad 上的 div,但当对话框出现时,下拉菜单和文本区域仍然隐藏。
更新功能:
function placeOrder() {
if ($('#dialogDiv').length == 0) {
}
var dialogDiv = $('#dialogDiv');
dialogDiv.dialog({
modal : true,
buttons : [
{
text : "Yes",
class : 'Green',
click : function() {
// Some functionality.
}
},
{
text : "No",
class : 'Red',
click : function() {
// Some functionality.
}
} ]
});
更新的 HTML:
</body>
<div id="dialogDiv" title="Are you sure you want to place this order.">
<p>Are you sure you want to place this order? Please select delivery option from the drop down and enter any special requirements in the text field.</p>
Reason<select for="postage">
<option value="">Please select...</option>
<option value="00111">Fedex - 001</option>
<option value="00112">UPS - 002</option>
</select>
<textarea id="details" name="details" class=" type="text" maxlength="760"></textarea>
</div>