调用jconfirm时松开复选框的值

时间:2016-12-12 12:58:37

标签: javascript jquery

我有一个jconfirm窗口,我在其上显示一些信息性文本。 我想在jconfirm窗口上添加一个复选框,基于其检查/未检查的值将为目标URL添加值(最终将使用django处理)

问题是在jconfirm页面上显示的html代码中添加了复选框后,我松开了复选框的值。

$('#credit_checkbox').change(function(){
 $('#hiddenInput').val(this.checked);
 console.log($('#hiddenInput'));
});

$(".popup-action").click(function(e) {
    var target = this.href;
    e.preventDefault();
    info = "<br/><br/><div> What will happen:<ul class='log payback' style='text-align:left;'><li><input id='credit_checkbox' type='checkbox' />Wanna do this?<br /><input id='hiddenInput' value=''>"; //Probably missed a quote here

    jConfirm("{% trans 'Set status to ' %}" + $(this).html() + " ?"+ info, "Confirmation", function (r) {
         if ($('#credit_checkbox').is(':checked')){
              target = target + "/True";
        }
        if (r) {
            console.log($('#hiddenInput').val());
              $.getJSON(target,function(json) {codecode}
        );
    }
});

1 个答案:

答案 0 :(得分:0)

如果不像这里的其他人指出的那样语法错误,那是因为你的复选框在你读取它的值之前被销毁了。

尝试将事件附加到该复选框:

$("#credit_checkbox").change(function(){
     $("#hiddenInput").val(this.checked);
});

然后在HTML中创建一个隐藏输入,用于存储该值:

<input id="hiddenInput" value="">

然后您可以随时从#hiddenInput中读取该值。