2014-09-03 52 views
-5

我不明白我的代码中发生了什么。我想在复选框被选中时显示一个模式框。 我显示模式框,但复选框保持未选中 你能帮助我吗? 在此先感谢!如何检查显示模式框后的复选框?

<td colspan="3"><input class="solo{{idioma.id}}" type="checkbox" id="mantenerhorario" name="mantenerhorario" {% if mantenerhorarioanterior == 1 %} checked {% endif %} 
data-target="#myModal" data-toggle="modal" > Mantener horario del año anterior</td> 

$("#mantenerhorario").click(function(){ 
     $('body').append('<div id="modalMantenerHorario" class="modal hide fade" role="dialog" 
     aria-labelledby="dataConfirmLabel" aria-hidden="true"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 
     <h3 id="myModalLabel">Aviso</h3></div><div class="modal-body"><p>my msg.</p></div> 
     <div class="modal-footer"><button class="btn" data-dismiss="modal" aria-hidden="true">Aceptar</button></div></div>'); 
     $('#modalMantenerHorario').find('.modal-body').text($(this).attr('data-confirm')); 
     $('#modalMantenerHorario').modal({show:true}); 
     $("#mantenerhorario").attr('checked', true); 
    }); 
+1

*“我想显示一个模式框,当一个复选框被选中,并勾选复选框”* - 没有意义。你已经检查过它显示模型,那么为什么你应该再次检查它? – 2014-09-03 15:54:37

+0

我的复选框显示模式框,但未勾选复选框。你明白吗? – Freenando 2014-09-03 15:57:43

+0

@TJ他意味着他的复选框不会在弹出模态框后保持检查状态 – AlexGreg 2014-09-03 16:00:37

回答

1

对于复选框使用你应该使用的道具功能,所以

$("#mantenerhorario").attr('checked', true); 

必须当你在同一个对象,你可以做的情况下使用该功能成为

$("#mantenerhorario").prop('checked', true); 

$(this).prop('checked', true); 
+0

感谢Telmo,我已经测试过您的代码,但它不起作用。这是非常奇怪的 – Freenando 2014-09-03 16:05:00

+0

检查了你的代码。您没有关闭输入标签。也许就是这样。你也应该用复选框来使用prop函数。 – 2014-09-03 16:07:35

0

我找到了!

我已删除了这部分代码

数据目标= “#myModal” 数据切换= “莫代尔”

从这里

<input class="solo{{idioma.id}}" type="checkbox" id="mantenerhorario" name="mantenerhorario" 
{% if mantenerhorarioanterior == 1 %} checked {% endif %} data-target="#myModal" 
data-toggle="modal" > 

和它的工作原理。

<input class="solo{{idioma.id}}" type="checkbox" id="mantenerhorario" name="mantenerhorario" 
{% if mantenerhorarioanterior == 1 %} checked {% endif %}> 

$("#mantenerhorario").click(function(){ 
    $('body').append('<div id="modalMantenerHorario" class="modal hide fade" role="dialog" 
    aria-labelledby="dataConfirmLabel" aria-hidden="true"> 
    <div class="modal-header"> 
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 
    <h3 id="myModalLabel">Aviso</h3></div><div class="modal-body"><p>my msg.</p></div> 
    <div class="modal-footer"><button class="btn" data-dismiss="modal" aria-hidden="true">Aceptar</button></div></div>'); 
    $('#modalMantenerHorario').find('.modal-body').text($(this).attr('data-confirm')); 
    $('#modalMantenerHorario').modal({show:true}); 

});