【发布时间】:2015-05-26 15:02:10
【问题描述】:
我正在使用 Colorbox Jquery popup 打开一个具有多个复选框和提交按钮的 form。
HTML 代码:
<div class="form-row addlink ng-binding" ng-bind-html="question.getText()"><em><a class='inline' href="#inline_content">+ Add/Edit</a></em></div>
<div class="form-row added ng-binding" ng-bind-html="question.getText()" id="text"></div>
<!-- This contains the hidden content for inline calls (POPUP code)-->
<div style='display:none'>
<div id='inline_content' style='padding:15px; background:#fff; font-size: 17px;'>
<form action="" id="popup_form">
<input type="checkbox" name="race" value="American Indian or Alaska Native"> American Indian or Alaska Native<br>
<input type="checkbox" name="race" value="Asian"> Asian<br>
<input type="checkbox" name="race" value="Black or African American"> Black or African American<br>
<input type="checkbox" name="race" value="Native Hawaiian or Other Pacific Islander"> Native Hawaiian or Other Pacific Islander<br>
<input type="checkbox" name="race" value="White"> White<br>
<input type="submit" name="submit" class="submitbtn" value="Add">
</form>
</div>
</div>
如果用户点击 +添加/编辑 链接,则会打开弹出窗口。然后提交点击后,复选框的选定值将显示在父页面上。为了在父页面上显示复选框的值,我使用了以下脚本。
脚本:
<script>
$(document).ready(function(){
$('#popup_form').submit(function(){
$('input:checkbox:checked').each(function(){
$("#text").text($("#text").text() + $(this).val()+ " ,");
});
parent.$.colorbox.close();
return false;
});
});
</script>
现在发生了什么,
1) 如果我检查过,例如值显示如下的前两个复选框:American Indian or Alaska Native ,Asian ,。如果我再次打开弹出窗口以选择第三个复选框,则弹出窗口显示前两个值检查结果如American Indian or Alaska Native ,Asian ,American Indian or Alaska Native ,Asian ,Black or African American , 我只想显示American Indian or Alaska Native ,Asian ,Black or African American ,
为什么结果会重复?
2) 如何在父页面上以无序列表(以项目符号和文本格式,例如使用<ul><li>)显示结果?
【问题讨论】:
-
$('input:checkbox:checked').这是选择复选框的正确方法。使用正确的属性选择器 - api.jquery.com/attribute-equals-selector
-
@Thilak Rao:我不能这么说,因为我是 javascript 新手。我已经尝试过一些类似 stackoverflow.com/questions/10654850/… 的 stackoverflow 答案
标签: javascript jquery html checkbox popup