添加用户在TextBox中输入的CHECKED CheckBoxes,SELECTED SelectBoxes和TEXT的值

时间:2013-08-26 21:17:29

标签: jquery

我能用以下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)

<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. 如果是输入文字,则点击事件无效。
  3. 如何达到理想的效果请帮忙。 在此先感谢: - )

1 个答案:

答案 0 :(得分:1)

对您的功能进行了一些更改,认为这使事情变得更容易:

$("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,因为正在使用jQ 1.7,因此使用了.live()

对于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/

相关问题