我有5行30个绿色按钮按钮。单击按钮时会弹出一个模态。模态内部是一个复选框。选中该复选框后,我需要它所在的按钮才能变为红色。我尝试了一些东西,但它们没有用。有什么想法吗?
HTML:
<button type="button" class="btn btn-primary btn-xs gridbtn" data-toggle="modal" data-target="#myModal">number</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">Testing</h4>
</div>
<div class="modal-body">
<form role="form">
<div class="form-group">
<label for="email">Email address:</label>
<input type="email" class="form-control" id="email">
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="password" class="form-control" id="pwd">
</div>
<div class="checkbox">
<label><input type="checkbox"> Remember me</label>
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
答案 0 :(得分:1)
HTML:
将ID添加到所有不同的按钮
<button id="btn1" type="button" class="btn btn-primary btn-xs gridbtn" data-toggle="modal" data-target="#myModal">number</button>
<button id="btn2" type="button" class="btn btn-primary btn-xs gridbtn" data-toggle="modal" data-target="#myModal">number</button>
<button id="btn3" type="button" class="btn btn-primary btn-xs gridbtn" data-toggle="modal" data-target="#myModal">number</button>
在您的复选框中添加一个课程
<div class="checkbox callback-to-button">
JS:
$('#myModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget); // Button that triggered the modal
$(this).find('.modal').attr('data-triggered', $(button).attr('id'));
})
$('.callback-to-button').click(function() {
var target = $(this).closest('.modal').attr('data-triggered');
if ($(this).find('[type=checkbox]').prop('checked')) {
$('#'+target).css('background-color', 'red');
}
else {
$('#'+target).css('background-color', '');
}
});
查看实际操作:here
答案 1 :(得分:0)
我认为你可以通过jQuery和一些HTML tweek来实现你所需要的。
更新按钮以包含唯一属性,例如data-id
:
<button type="button" class="btn btn-primary btn-xs gridbtn" **data-id="btn1"** data-toggle="modal" data-target="#myModal">number</button>
在模态窗口中添加输入字段:
<input type="hidden" id="btnId" value="">
单击按钮后,使用按钮中的data-id
值更新模态窗口中的输入字段:
$('button').click(function() {
$('.modal #btnId').val($(this).attr('data-id'));
});
您现在在模态窗口和单击以打开它的按钮之间有一个链接。
选中复选框后,使用以下jQuery代码更改按钮的颜色:
$('.checkbox').change(function() {
if($(this).is(":checked")) {
$('button[data-id='+$('#btnId').val()+']').css('color','red');
}
});