0

ユーザーが最初の 2 ラウンドまたは 4 ラウンドを選択できるようにしたいのですが、2/4 ラウンドによると、チケットの数を書き込む必要がある入力タイプのテキスト フィールドがあり、選択したイベントに応じて jquery が計算しますチケットの数と車の価格を変数 selected_event で div に書き込みます (価格の各 div には、div の名前を持つ独自の ID があります)$('#' + selected_event).html("€ " + totale + ",00"); 私が書いた jquery コードはそうではありません! おそらく、入力タイプのラジオと同じ親divにある入力フィールドを選択し、その入力タイプのテキストに従って価格.cange()を変更できますが、選択に問題があるため、.child()で試しました。 。 親()..

HTML:

<div class="more_car_info">
                <div class="small_car_image">
                    <img src="http://www.domain/slide1.jpg" style="width:101px;height:66px;">
            </div>
            <div class="car_ticket_anzahl_und_prise">
                <p style="float:left;"><span style="margin-right:45px;"><input value="2runden" alt="1" name="anzahl_ticket" type="radio" style="width: 20px !important;margin:0;height:25px;"> 2 Runden </span><span style="margin-right:45px;">199,00€&lt;/span> Anzahl Ticket: <input type="text" class="anzahl_tickets" name="Nürburgring" style="width:20px !important;margin-bottom: 4px !important;"></p> 
                <p style="float:left;"><span style="margin-right:45px;"><input value="4runden" alt="2" name="anzahl_ticket" type="radio" style="width: 20px !important;margin:0;height:25px;"> 4 Runden </span><span style="margin-right:45px;">359,00€&lt;/span> Anzahl Ticket: <input type="text" class="anzahl_tickets" name="Nürburgring" style="width:20px !important;margin-bottom: 4px !important;"></p>
            </div>
        </div>

jQuery:

    if($('input[name=anzahl_ticket]:checked').val() == '2runden' ) {
    $('.anzahl_tickets').change(function() {
            var selected_event = $('.anzahl_tickets').attr("name");     
            var nr1 = $('.anzahl_tickets').val();
            var nr2 = +nr1;
            var car = 199;
            var totale = (nr2 * car);
            alert(selected_event);
            $('#' + selected_event).html("€ " + totale + ",00"); //gesamtpreis
        });
}
else if($('input[name=anzahl_ticket]:checked').val() == '4runden'){
    $('.anzahl_tickets').change(function() {
        var selected_event = $('.anzahl_tickets').attr("name");
        var nr1 = $('.anzahl_tickets').val();
        var nr2 = +nr1;
        var car = 366;
        var totale = (nr2 * car);
        $('#' + selected_event).html("€ " + totale + ",00"); //gesamtpreis
        });
}
4

1 に答える 1

2

$('.anszhl_tickets)次のように、セレクターを$(this)ハンドラー内で交換してみてください。

    var selected_event = $(this).attr("name");
    var nr1 = $(this).val();

ページに class を持つ複数の要素がある場合、複数の要素に一致する.anszhl_ticketsため、コードは思ったとおりに動作しません。$('.anszhl_tickets')

于 2013-04-07T18:47:28.327 に答える