javascript-带有下拉列表和textarea的JQuery Modal对话框
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-带有下拉列表和textarea的JQuery Modal对话框,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3058字,纯文字阅读大概需要5分钟。
内容图文
![javascript-带有下拉列表和textarea的JQuery Modal对话框](/upload/InfoBanner/zyjiaocheng/677/4a65368dd6c349e1892d13b7bfb27fcf.jpg)
我是jQuery的新手,如果这是一个简单的问题,请原谅我.
我正在尝试通过onClick事件创建一个对话框,该对话框包括:
1)下拉列表
2)文字区域(高度可能为300px)
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>
解决方法:
您的JavaScript对话框调用很好.在body标记之外的HTML标记中,创建一个用于包装对话框的div元素.现在,您的div已在HTML标记中定义,您可以通过append,attr,html调用删除JavaScript行.
</body>
<div id="dialogDiv" title="Are you sure you want to place this order">
<!-- Define your textarea and select here as you normally would -->
<textarea/>
<select/>
</div>
</html>
由于HTML在body标记之外,因此该div将被隐藏,直到由您的dialog方法调用为止.您可以像对待JavaScript代码中的任何其他HTML元素一样对待文本区域并进行选择.
更新:
这是答案的JSFiddle:http://jsfiddle.net/zMs5n/
$("#dialogDiv").dialog({
autoOpen: false
});
// Open the dialog when the user clicks some button
$("#myButton").button().click(function() {
$("#dialogDiv").dialog("open");
});
基本上,您需要在页面加载后立即创建dialog().作为对话框初始化的一部分,JQuery UI不会在对话框外显示此div.将autoOpen属性设置为false将阻止打开对话框.此时,您可以调用对话框打开功能以随意打开对话框.
内容总结
以上是互联网集市为您收集整理的javascript-带有下拉列表和textarea的JQuery Modal对话框全部内容,希望文章能够帮你解决javascript-带有下拉列表和textarea的JQuery Modal对话框所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。