如何在单选按钮onchange()事件上加载自定义对话框
How to load a custom dialog box on a radiobutton onchange() event?
我在几个单选按钮上有一个onchange事件,调用一个名为dialogPopUp()的函数。目前这个函数显示一个工作正常的警告框。但是,我希望这个函数显示一个对话框。我已经尝试了几种解决方案,但似乎都不起作用。我希望对话框弹出,而不是打开一个新的窗口,其中窗口。打开。
下面是一个带有单选按钮的页面示例:
<div data-role="page" id="page1">
<div data-role="main" class="ui-content">
<fieldset data-role="controlgroup">
<legend>1. Har jag klart för mig vad uppdraget innebär?</legend>
<input type="radio" name="radiogroup1" id="radio-choice-1" value="choice-1" />
<label for="radio-choice-1">Ja</label>
<input type="radio" name="radiogroup1" id="radio2" value="choice-2" onchange="dialogPopUp()" />
<label for="radio2">Nej</label>
</fieldset>
</div>
<div data-role="footer">
<a href="#page2" class="ui-btn">Nästa fråga</a>
</div>
</div>
函数如下:
<script>
function dialogPopUp(){
alert("asd");
}
</script>
这是我想用前面的方法加载的对话框:
<div data-role="page" data-dialog="true" id="dialog1">
<div data-role="header">
<h1>Riskbedömning</h1>
</div>
<div data-role="main" class="ui-content">
<form>
<label for="danger">Fara:</label><input type="text" name="danger" id="danger"/>
<label for="risc">Gradera risk:</label><select name="risc" id="risc">
<option value="L">Låg</option>
<option value="M">Medel</option>
<option value="H">Hög</option>
</select>
<label for="measure">Förebyggande åtgärd:</label><input type="text" name="measure" id="measure"/>
<a href="#page2" class="ui-btn">Nästa fråga</a>
</form>
</div>
<div data-role="footer">
<h1>Footer Text In Dialog</h1>
</div>
</div>
使用Jquery…这是可能的
<script>
$(document).ready(function (){
$('#dialog1').hide();
$('#rbt').onChange(function (){
$('#dialog1').show();
});
});
</script>
我假设您的对话框已经隐藏。如果没有,这段代码将隐藏它
$("#dialog1").fadeOut(0);
添加Jquery库
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
//This will hide the dialog
$("#dialog1").fadeOut(0);
//This will show your Dialog
$("#radio2").click(function(){
$("#dialog1").fadeOut(100);
});
});
</script>
首先你必须使用display: none
禁用对话框div。
<div data-role="page" data-dialog="true" id="dialog1" style="display:none">
现在使用jQuery的。dialog方法来创建div
$("#dialog1").dialog();
就这样了!
看看这个小提琴
:
jQuery mobile检查标签上的data-rel="dialog"
属性,并显示一个对话框,如果它存在。如果我们添加那个对话框它就会显示为一个对话框。你也可以查看官方的jquery文档。
通过向页面锚链接添加data-rel="dialog"属性,任何页面都可以作为模态对话框呈现。当"dialog"属性被应用时,框架会添加一些样式来添加圆角,页面周围的边距和深色背景,使"dialog"看起来悬浮在页面上方。
检查修改后的小提琴。虽然我没有设置叠加和其他东西但它仍然有效
不要厌倦弹出窗口。如今,许多浏览器都在屏蔽它们。而使用DIV,你可以简单地隐藏/显示在中心(或你需要它的地方),无论如何,它将是模态的"基本上"(阻止用户看到页面内容-在它后面)
相关文章:
- 召回窗口加载事件 - javascript
- 仅加载事件序列
- Jquery onclick事件加载XML的特定节点
- jQuery事件加载
- Javascript:js 不会在事件加载时执行
- PhantomJS - 从单击事件加载的内容不会加载到 DOM
- 事件加载 jQuery 和 YouTube API
- 如何在单击时运行事件加载
- 将事件加载到日历中
- zurbfoundation和ajax上的事件加载了内容
- Jquery 不绑定事件加载
- 如何模拟按键事件加载
- jQuery 事件加载在 onFinish 执行
- Xhr 上传事件加载问题
- Opera用户脚本事件"加载"并不总是有效
- 事件加载并准备就绪,但未触发
- 用javascript onclick事件加载并播放gif
- Aurelia -事件加载/惰性加载图像
- 复选框onclick事件加载,就好像选中了一样
- 当am使用jquery加载事件加载图形页面时,外部页面Morris图表未加载