JS函数检查所有的复选框,这是不需要的
JS Function Checks all Checkboxes, which is not needed
抱歉,标题很奇怪。所以,我正在使用Visual Studio MVC,我正在创建一个网站。我有5行30个按钮在引导。当你点击这些按钮时,会弹出一个带有复选框的模式。当复选框被单击时,它使模态按钮变为红色。不幸的是,它会检查每个按钮和每个模式的所有复选框。我有一种感觉,这是因为id或其他原因,但我不能为每个按钮更改每个id,因为我创建了超过150个按钮。所以我只需要一个按钮来改变颜色时,复选框被点击。我已经添加了jsfiddle,以获得更简单的视图。谢谢你的帮助。
这与我创建的另一个帖子有关:Link
JSFiddle: Fiddle Link
到目前为止,我有:
@{int k= 0;}
@for (int j = 0; j < 5; j++) {
@for (int i = 0; i < 30; i++)
{
k = k + 1;
}
}
在第二个for循环中是:
<button id="btn1" type="button" class="btn btn-primary btn-xs gridbtn" data-toggle="modal" data-target="#myModal">@k</button>
<!-- Modal -->
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">@(k)</h4>
</div>
<div class="modal-body">
<form role="form">
<div class="checkbox callback-to-button">
<label><input type="checkbox"> Remember me</label>
</div>
<button type="submit" class="btn btn-default" data-dismiss="modal">Submit</button>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
既然已经在循环了,就可以很容易地为每个实例关联一个动态id。
<button id="btn@k" type="button" class="btn btn-primary btn-xs gridbtn" data-toggle="modal" data-target="#myModal@k">@k</button>
<!-- Modal -->
<div class="modal fade" id="myModal@k" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">@(k)</h4>
</div>
<div class="modal-body">
<form role="form">
<div class="checkbox callback-to-button">
<label><input type="checkbox" data-target="#btn@k"> Remember me</label>
</div>
<button type="submit" class="btn btn-default" data-dismiss="modal">Submit</button>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
为div设置事件监听器是一个坏主意,你可以在复选框本身设置一个更改事件监听器,如果你清楚地看到上面的HTML,我已经为复选框添加了data-target属性。
请参考下面的Javascript:
$('.modal input[type="checkbox"]').change(function(){
var target = $(this).attr('data-target');
$(target).css({'background':'red'});
});
我为所有的混乱感到抱歉,但它实际上是我的模态没有唯一的id,所以for循环的第一个模态被创建了150次。
我只需要在模态id中加上@(k)。
<div class="modal fade" id="myModal-@(k)" tabindex="-1" role="dialog">
现在工作惊人!这篇文章有帮助:Link
谢谢你的帮助!
相关文章:
- 关闭在加载时激活,而不是复选框更改
- 如何使用template.find()来选中或不选中复选框
- 如果在使用IE 7或8时隐藏,则单击标签不选中复选框
- 使用隐藏字段值而不是复选框值计算合计
- 复选框提醒脚本在动态加载测试时不记得复选框状态.php其中包含复选框
- "全部检查”;不选中复选框
- 将值从一个表单字段复制到另一个,不带复选框
- 单击不使用复选框标记的事件
- 为不确定复选框设置自定义初始值只有在单击后才能工作
- 如何更改此代码以显示带有菜单下拉菜单而不是复选框的隐藏表单
- 引导弹出窗口不保存复选框
- n -单击-显示需要复选框的消息
- jQuery触发器('click')不触发复选框上的.click事件
- 如何使不确定复选框触发其他复选框的功能
- :空白选择器不工作复选框jQuery Validate()
- Javascript不击中复选框
- 改变事件不触发复选框,如果它是由javascript设置的
- 不确定复选框的Knockout自定义绑定不起作用
- 在Firefox中,click()设置后不运行复选框.Disabled = false
- KnockoutJS不选择复选框列表中的选中值