0

私はとても奇妙な形をしようとしています。

基本的な概念は、フォームに製品チェックボックスの列があり、その製品を選択した場合は、関連する製品チェックボックスをオンにする必要があるということです。

フォームには、製品の価格とサイズの列がもう 2 つあります。私は価格とサイズの量を計算したいのですが、どの製品がチェックされているかによって異なります。私がこれまでに達成したのは、チェックされている製品の値を取得することだけですが、価格とサイズの値は取得しません。また、計算を動的に行う方法。

ここにHTMLがありますhttp://jsfiddle.net/DDEzm/2/

誰かが助けてくれることを願っています、どうもありがとう。

4

2 に答える 2

0

値を取得するために必要なことは、次のとおりです。

$(function(){
    $("[name='chkProduct']").live('change',function(){
        var totalCost = 0;
        $("[name='chkProduct']").each(function(i){
            if($(this).attr("checked")) {
                var price = $(this).parent().next().find("[name='price']").val();
                var size= $(this).parent().next().next().find("[name='size']").val();
                totalCost = totalCost + (price * size);
                $("#presult").val(totalCost);
            }
        });
    });
});​

ただし、入力を制限するか、チェックボックスをクリックしたときにチェックすることにより、追加しようとしているのが数字であることを確認するためのチェックを追加したい場合があります。たとえば、 javascripts を使用できparseIntます。

また、チェックボックスを識別する名前またはクラスを指定することもできます。そうすれば、チェックボックスごとに変更関数を書く必要がなくなります。

編集

すべてのチェックボックスで機能し、合計を計算するように変更しました。

于 2012-07-17T02:38:50.887 に答える
0

これを試してみてください。この解決策はマークアップに基づいています:

$(function(){
    $('#cb1').live('change',function(){
        if ($(this).is(':checked')) {
           var val = 0;
           val = parseInt($('#tb1').val(), 10) + parseInt($('#tb2').val(), 10)
           $('#presult').val(val)             
        } else {
           $('#presult').val('0')              
        }
    });
});

デモ

于 2012-07-17T02:42:44.180 に答える