操纵输入复选框

时间:2013-09-24 05:03:44

标签: jquery

除非在对话框确认框中确认,否则

input type="checkbox"将不会取消选中或选中。

这是一个场景,我把这个表包含在记录中,每行记录都有一个Enabled列,这将允许你checkedunchecked一个特定的行记录方式(禁用或启用帐户记录)。

我的问题是,当我点击[input type="checkbox"]时会自动检查,或者有时默认选中它会自动取消选中,然后出现对话框以确认是否启用了帐户。

我希望复选框在我点击它时什么都不做。它应该只在我在对话框中确认后才会改变。

大家好,不好意思,这是我的代码。 http://jsfiddle.net/5REXp/1/ 我希望你理解它。单击名为enabled的复选框un column时,应弹出Jquery UI对话框。感谢。

2 个答案:

答案 0 :(得分:1)

尝试

<input type="checkbox" checked="checked" onclick="Enabled(201569,event, this)" />

<div id="dialog-confirm">Confirm</div>

然后

function Enabled(id, event, el) {
    event.preventDefault();
    $("#dialog-confirm").dialog({
        resizable: false,
        height: 160,
        modal: true,
        buttons: {
            "Disable": function () {
                $(this).dialog('option', 'hide', 'fade');
                $(this).dialog("close");
                $(el).prop('checked', !$(el).is(':checked'))
            },
            Cancel: function () {
                $(this).dialog("destroy");
            }
        }
    });
}

演示:Fiddle

答案 1 :(得分:0)

请尝试使用此代码。我想这就是你想要的:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<form method="post">
<input type="checkbox" name="chk1" class="chkb"/>
<input type="checkbox" name="chk2" class="chkb"/>
<input type="checkbox" name="chk3" class="chkb"/>
</form>

<script type="text/javascript">
$(function(){
    $('.chkb').click(function(){
        var Status=$(this).is(':checked');
        if(Status==true)
        {
            $(this).attr('checked',false);
            var conf=confirm('Mark It?');
            if(conf==true)
                $(this).prop('checked',true);
            else
                $(this).prop('checked',false);
        }
        else if(Status==false)
        {
            //$(this).attr('checked',false);
            var conf=confirm('Unmark It?');
            if(conf==true)
                $(this).prop('checked',false);
            else
                $(this).prop('checked',true);
        }   

    });
});