1

皆さん、

2つの選択ドロップダウンのいずれかが変更されるたびにその値を複数にして、その値を表示しようとしています。

これは私が持っているものです(もちろん機能しません)-何かアイデアはありますか?

TIA!

編集編集編集編集編集編集

助けてくれたみんなに感謝します-私はあなたのすべての投稿に基づいて私が行った試みを反映するようにJQueryを更新しました。まだ運はありませんが、私はたくさんのことを学んでいます:)

実用的なソリューションで最後に1回編集-ありがとうございました

$(document).ready(function() {      
    $(".DropChange").change(function(){     
        var ValOne = $('#ValOne').val();
        var ValTwo = $('#ValTwo').val();
        var totalTotal = ((ValOne * 1) * (ValTwo * 1));             
        $('#Total').text(totalTotal);
    }); 
}); 
<select name="ValOne" id="ValOne" class="DropChange">
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
   <option value="4">4</option>
   <option value="5">5</option>
   <option value="6">6</option>
</select>

<select name="ValTwo" id="ValTwo" class="DropChange">
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
   <option value="4">4</option>
   <option value="5">5</option>
   <option value="6">6</option>
</select>
<span id="Total"></span>
4

4 に答える 4

4

を使用しないでください。代わりにイベントをlive使用してください。change

また、結果を要素に設定していますが、#display意味があると思います#Total

編集 あなたはまだそれを理解していないので、ここに行きます...

$(関数() {
  $(".DropChange").change(関数(){
    var valone = $('#ValOne').val();
    var valtwo = $('#ValTwo').val();
    var 合計 = ((valone * 1) * (valtwo * 1));
    $('#Total').text(total);
  });
});
于 2009-09-30T16:55:26.977 に答える
0

$(document).ready(function(){
    $('.DropChange').change(function(e){
        var total = 0;
        $('.DropChange').each(function(){
            var n = +$(this).val();
            if(total){
                total *= n;
            } else{
                total = n;
            }
        });
        $('#Total').text(total);
    });
});

于 2009-09-30T17:57:57.297 に答える
0

livejQuery の関数を介して変更イベント ハンドラーをアタッチすることはできません。

jQuery のlive関数は、イベント バブリングを利用して実装されます (ハンドラーがドキュメントにアタッチされ、イベントがバブリングすると、jQuery はイベントを引き起こした要素に基づいてハンドラーを呼び出すかどうかを決定します)。select 要素の change イベントはバブルアップしません。

クリック イベントは発生しますが、値が変化しても発生しません。

これには別の方法でアプローチする必要があります。1 つのオプションは、( を使用するのではなく) 要素の変更イベントに直接バインドすることliveです。

$(".DropChange").change(function(){

それ以外の

$(".DropChange").live("change", function(){

別のオプションは、タイマーで製品を計算して表示することです。

于 2009-09-30T16:19:23.877 に答える
0
<select name="ValOne" id="ValOne" class="DropChange">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
</select>

<select name="ValTwo" id="ValTwo" class="DropChange">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
</select>
<span id="Total"></span>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
<script type="text/javascript">
    $(document).ready
    (
        function()
        {
            $(".DropChange").change
            (
                function()
                {
                    $("#Total").text($("#ValOne").val() * $("#ValTwo").val());
                }
            );
        }
    );     
</script>
于 2009-09-30T17:16:12.660 に答える