0

我想让用户可以选择前 2 轮或 4 轮,然后根据 2/4 轮有一个输入类型的文本字段,他们必须在其中写下门票的数量,然后根据所选事件它 jquery 计算票的数量和汽车的价格,并将它们写入一个带有变量 selected_event 的 div (价格的每个 div 都有自己的 id 和 div 的名称$('#' + selected_event).html("€ " + totale + ",00"); 我写的 jquery 代码没有!也许我可以选择与输入类型 radio 位于同一父 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 回答