添加用户在TextBox中输入的CHECKED复选框、SELECTED SelectBoxes和TEXT的值



我能用下面的JQuery做的是,它返回所有复选框和选择框的总值。

这是我的Jquery脚本:(点击事件已用)

<script type="text/javascript">
$(document).ready(function() {
$("input").click(function(event) {
    var total = 0;
    $("input:checked").each(function() {
        total += parseInt($(this).val(),10);
    });
    var total_text = parseInt($("#min").text(),10);
    total = total + total_text;
    if (total === 0) {
        $('#Totalcost').val('$0');
    }
    else {
        $('#Totalcost').val('$' + total);
    }
});
});
</script>

以下JQuery能够做的是返回在输入类型文本文件中输入的总值:

这是代码:(KEYPRESS EVENT USED)

<script type="text/javascript">
$(document).ready(function() {
$("input").keypress(function(event) {
    var total = 0;
    $("input:checked").each(function() {
        total += parseInt($(this).val(),10);
    });
    var total_text = 0;
    /*var total_text = parseInt($("#min").val(),10);
    total = total + total_text;*/
    if (total === 0) {
        $('#Totalcost').val('$0');
    }
    else {
        $('#Totalcost').val('$' + total);
    }
});
});

我试着添加

var total_text = parseInt($("#min").val(),10);
total = total + total_text;

在最上面的jquery中,但我面临的问题是

  1. 它不将输入类型文本的值视为整数
  2. 在输入类型为文本的情况下,单击事件无法正常工作

我怎样才能达到预期的效果请帮忙。提前感谢:-)

对您的函数进行了一些更改,认为这会让事情变得更容易:

$("input").live("change keyup", function() {
    $("#Totalcost").val(function() {
        var radioVal = parseInt($(this).siblings(":radio:checked").val());
        var textVal = parseInt($("#min").val()) || 0;
        return radioVal + textVal;
    });
});

演示:http://jsfiddle.net/EzYeH/32/

编辑:更新为使用keyup and change,使用.live(),因为正在使用jQ 1.7。

对于jQ 1.7+

$("input").on("change keyup", function() {
    $("#Totalcost").val(function() {
        var radioVal = parseInt($(this).siblings(":radio:checked").val());
        var textVal = parseInt($("#min").val()) || 0;
        return radioVal + textVal;
    });
});

演示:http://jsfiddle.net/EzYeH/33/

最新更新