JQuery UI对话框填充复选框值到父
JQuery UI Diaglog to populate checkbox values to parent
我有一个要求,用户应该从弹出框中选择复选框的值,并单击提交弹出框,选择的值应该显示回父页面。
我正在玩一些无线电框值,我能够推到父窗口,但与复选框值斗争。
这是我的弹出窗口的样子,我的代码是 <p>Please Select a language:</p>
<div id="myDialog" title="Select Language">
<br /><br />
<input type="checkbox" name="countryCheckbox[]" value="English" checked = "checked" /> English <br/>
<input type="checkbox" name="countryCheckbox[]" value="French" /> French <br/>
<input type="checkbox" name="countryCheckbox[]" value="Norwagian" /> Norwagian <br/>
<input type="checkbox" name="countryCheckbox[]" value="Swedish" /> Swedish <br/>
<input type="checkbox" name="countryCheckbox[]" value="Hindi" /> Hindi <br/>
<input type="checkbox" name="countryCheckbox[]" value="Chinese" /> Chinese <br/>
<br /><br />
<label for="yes">Yes!</label><input type="radio" id="yes" value="yes" name="question" checked="checked"><br>
<label for="no">No!</label> <input type="radio" id="no" value="no" name="question">
</div>
<p id="text">Selected Languages are: </p>
和我的Jquery代码,为所选的单选按钮工作如下
$(function(){
var execute = function(){
var answer;
$("input").each(function(){
(this.checked == true) ? answer = $(this).val() : null;
});
$("<p>").text("You selected " + answer).appendTo($("body"));
$("#myDialog").dialog("close");
}
var cancel = function() {
$("#myDialog").dialog("close");
}
var dialogOpts = {
buttons: {
"Submit": execute,
"Cancel": cancel
}
};
$("#myDialog").dialog(dialogOpts);
});
我试图添加以下JQuery代码来显示父页面上选择的复选框值
$('#myDialog').submit(function(ev){
ev.preventDefault();
var arr = [];
$('input:checkbox:checked').each(function(){
arr.push($(this).val());
});
$(opener.document).contents().find("#text").text(arr.join(","));
self.close();
});
请建议,因为我仍在努力整合所选复选框的JQuery代码,以显示在父页面
您需要遍历每个输入,然后将其存储在数组中,以便将其附加到body.
$(function () {
var execute = function () {
var answer = [];;
$("input").each(function () {
if (this.checked) answer.push(this.value);
});
for (var i = 0; i < answer.length ; i++)
$("<p>").text("You selected " + answer[i]).appendTo($("body"));
};
});
检查小提琴
$(function () {
var execute = function () {
var answer = [];;
$("input").each(function () {
if (this.checked) answer.push(this.value);
});
for (var i = 0; i < answer.length; i++)
$("<p>").text("You selected " + answer[i]).appendTo($("body"));
};
var cancel = function () {
$("#myDialog").dialog("close");
}
var dialogOpts = {
buttons: {
"Submit": execute,
"Cancel": cancel
}
};
$("#myDialog").dialog(dialogOpts);
});
编辑
var cancel = function () {
$("#myDialog").dialog("close");
}
var saveAndCancel = functionI() {
execute();
cancel();
}
var dialogOpts = {
buttons: {
"Submit": saveAndCancel ,
"Cancel": cancel
}
};
相关文章:
- 如何在刷新时重新填充表单中的复选框并将表单值发布到页面
- 通过复选框选择形成填充
- 动态填充复选框
- 如果在 HTML/JavaScript 中选中了复选框,则填充单选按钮
- Angular 2:用HTTP响应填充复选框列表
- 选中复选框时清除填充有datatime选取器数据的文本框
- 如何使用javascript自动提交保存/重新填充的复选框
- 使用DOM创建并填充一个带有javascript数组值的复选框列表
- 我正试图获得一个带有复选框的多选下拉列表,在填充项目和获得所有选中的工作时遇到了一些问题
- 如何使用选中的复选框文本自动填充输入文本字段
- AngularJS:用两个JSON数组填充复选框列表,最初检查了一个数组中的一些项
- 使用字段值填充提交时的另一个复选框
- Javascript复选框填充输入并将不同的值传递给表单
- 用数组中的值填充复选框
- 复选框列表 将数组格式化为 JSON 并在 ng-repeat 中映射后未填充
- 使用复选框填充后网格
- 如何用数据库中的值填充输入文本字段 单击复选框
- 使用 JavaScript,在下拉列表更改上填充复选框 从文本文件更改
- 在经典 ASP 和 jQuery 中使用复选框值填充文本框
- 正在重新填充表单中的复选框(laravel)