mvc3复选框使用jquery选中或取消选中值

时间:2013-12-01 15:19:51

标签: jquery asp.net-mvc-3 checkbox

我有一个注册表格,里面有一些字段..说我有4个文本框t1,t2,t3,t4

在填写注册时,当用户填写t1和t2时,如果他检查了复选框,那么t1和t2中的数据应分别在t3和t4中提交..

如果用户取消选中该复选框,那么t3和t4中的数据应该被删除,实际上我这样做但我不确定这是否正确的方式

在我的模型中,我为复选框

创建了一个属性
  public bool ChkBox{get;set;}

我的观点

@Html.CheckBoxFor(m => m.ChkBox, new  { id = "c1" })

jquery代码

<script type="text/javascript">


$('#c1').click(function () {

    var chk = $('#c1').is(':checked');
    if (chk == true) {
        var x = $('#t1').val();
        var y = $("#t2").val();

        $("#t3").val(x);
        $("#t4").val(y);
    }
    else {
        if (chk == false) {
            $("#t3").val('');
            $("#t4").val('');

        }
    }

});
  </script>

t1,t2,t3,t4是我的文本框的id, 目前这工作正常,但这是正确的方法,还是我可以以任何方式改进代码?

1 个答案:

答案 0 :(得分:0)

您正在使用一些不必要的variables / condition checks,您可以使用以下代码对其进行改进,

$('#c1').change(function () {
    if ($(this).is(':checked')) { 
        $("#t3").val($('#t1').val());
        $("#t4").val($('#t2').val());
    }
    else{
        $("#t3").val('');
        $("#t4").val('');    
    }   
});