2016-05-13 32 views
2

如何通过使用选择选项获得单选按钮值?如何通过使用jQuery选择下拉菜单来获取单选按钮值

我有几个单选按钮及其值。为了与下拉选择

<div class="form-group"> 
    <p> Ticket Type:</p> 
    <label> Normal:</label> <label> <input type="radio" class="ticket_type" name="ticket_type" value="100" required=""> </label> 
    <label> Vip:</label> <label> <input type="radio" class="ticket_type" name="ticket_type" value="200" required=""> </label> 
    <label> VVip:</label> <label> <input type="radio" class="ticket_type" name="ticket_type" value="500" required=""> </label> 
</div> 

<div class="form-group"> 
    <label> Number Of Adults: </label> 
    <label> 
     <select> 
      <option>Select</option> 
      <option>1</option> 
      <option>2</option> 
      <option>3</option> 
      <option>4</option> 
      <option>5</option> 
      <option>6</option> 
      <option>7</option> 
      <option>8</option> 
      <option>9</option> 
      <option>10</option> 
     </select> 
    </label> 
</div> 

Image Here

+0

显示您到目前为止所尝试的内容 – guradio

+0

您想实现什么? –

+0

我不明白这个问题。 – super11

回答

1

显示这些值这是你需要什么?

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 


<div class="form-group"> 
    <p> Ticket Type:</p> 
    <label> Normal:</label> <label> <input type="radio" class="ticket_type" name="ticket_type" value="100" required=""> </label> 
    <label> Vip:</label> <label> <input type="radio" class="ticket_type" name="ticket_type" value="200" required=""> </label> 
    <label> VVip:</label> <label> <input type="radio" class="ticket_type" name="ticket_type" value="500" required=""> </label> 
</div> 

<div class="form-group"> 
    <label> Number Of Adults: </label> 
    <label> 
     <select id="number"> 
      <option>Select</option> 
      <option>1</option> 
      <option>2</option> 
      <option>3</option> 
      <option>4</option> 
      <option>5</option> 
      <option>6</option> 
      <option>7</option> 
      <option>8</option> 
      <option>9</option> 
      <option>10</option> 
     </select> 
    </label> 
</div> 

<script> 
var number = $('#number'); 

number.on('change',function(){ 
    alert($('.ticket_type:checked').val() * $(this).val()); 

}); 
</script> 
+0

是的,像这样,但单选按钮值应该与选定值相乘。 –

+0

是改变它。 –

+0

这就是我需要的。谢谢您的帮助。 –

0

查找评论

//Change event attached to both select and radio elements, if any of them gets changed this will be triggered 
 
$('select,input[type=radio]').on('change',function(){ 
 
    var selVal=$('select option:selected').text(); //get the selected value from select 
 
    var radVal=$('input[type=radio]:checked').val();//get the checked radio value 
 
    $('.total').html(selVal*radVal) //multiply and display in a element or do whatever you want 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="form-group"> 
 
    <p> Ticket Type:</p> 
 
    <label> Normal:</label> <input type="radio" class="ticket_type" name="ticket_type" value="100" required=""> 
 
    <label> Vip:</label> <input checked type="radio" class="ticket_type" name="ticket_type" value="200" required=""> 
 
    <label> VVip:</label> <input type="radio" class="ticket_type" name="ticket_type" value="500" required=""/> 
 
</div> 
 

 
<div class="form-group"> 
 
    <label> Number Of Adults: </label> 
 
    <label> 
 
     <select> 
 
      <option>1</option> 
 
      <option>2</option> 
 
      <option>3</option> 
 
      <option>4</option> 
 
      <option>5</option> 
 
      <option>6</option> 
 
      <option>7</option> 
 
      <option>8</option> 
 
      <option>9</option> 
 
      <option>10</option> 
 
     </select> 
 
    </label> 
 
</div> 
 

 
<div class="total"></div>

0
你需要使用 :checked

的解释。如果select没有任何价值,您也可以将change添加到radioselect,并使用isNaN

$('#number, .ticket_type').change(function() { 
 

 
    var ticketValue = $('.ticket_type:checked').val(); 
 
    var number = $('#number').val(); 
 

 
    var value = ticketValue * number; 
 

 
    if (!isNaN(value)) 
 
    alert(value); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div class="form-group"> 
 
    <p>Ticket Type:</p> 
 
    <label>Normal:</label> 
 
    <label> 
 
    <input type="radio" class="ticket_type" name="ticket_type" value="100" required=""> 
 
    </label> 
 
    <label>Vip:</label> 
 
    <label> 
 
    <input type="radio" class="ticket_type" name="ticket_type" value="200" required=""> 
 
    </label> 
 
    <label>VVip:</label> 
 
    <label> 
 
    <input type="radio" class="ticket_type" name="ticket_type" value="500" required=""> 
 
    </label> 
 
</div> 
 

 
<div class="form-group"> 
 
    <label>Number Of Adults:</label> 
 
    <label> 
 
    <select id="number"> 
 
     <option>Select</option> 
 
     <option>1</option> 
 
     <option>2</option> 
 
     <option>3</option> 
 
     <option>4</option> 
 
     <option>5</option> 
 
     <option>6</option> 
 
     <option>7</option> 
 
     <option>8</option> 
 
     <option>9</option> 
 
     <option>10</option> 
 
    </select> 
 
    </label> 
 
</div>

0

试试这个:

<div class="form-group"> 
    <p> Ticket Type:</p> 
    <label> Normal:</label> <label> <input type="radio" class="ticket_type" name="ticket_type" value="100" required=""> </label> 
    <label> Vip:</label> <label> <input type="radio" class="ticket_type" name="ticket_type" value="200" required=""> </label> 
    <label> VVip:</label> <label> <input type="radio" class="ticket_type" name="ticket_type" value="500" required=""> </label> 
</div> 

<div class="form-group"> 
    <label> Number Of Adults: </label> 
    <label> 
     <select id="no_of_adults"> 
      <option value="">Select</option> 
      <option>1</option> 
      <option>2</option> 
      <option>3</option> 
      <option>4</option> 
      <option>5</option> 
      <option>6</option> 
      <option>7</option> 
      <option>8</option> 
      <option>9</option> 
      <option>10</option> 
     </select> 
    </label> 
    <div id="result"></div> 
</div> 

的Jquery:

$('input[type=radio][name=ticket_type]').change(function() { 
     var type_amount = $("input[name=ticket_type]:checked").val(); 
     var no_of_adults = $('#no_of_adults').val(); 
     if(no_of_adults != '') { 
      var amount = type_amount * no_of_adults; 
      $("#result").text(amount) 
     } 
    }); 

    $('#no_of_adults').change(function() { 
     var type_amount = $("input[name=ticket_type]:checked").val(); 
     if(typeof type_amount != "undefined") { 
      var no_of_adults = $(this).val(); 
      var amount = type_amount * no_of_adults; 
      $("#result").text(amount) 
     } 
    }); 
0

与变化的HTML:

<div class="form-group"> 
    <p> Ticket Type:</p> 
    <label> Normal:</label> <label> <input type="radio" class="ticket_type" name="ticket_type" value="100" required=""> </label> 
    <label> Vip:</label> <label> <input type="radio" class="ticket_type" name="ticket_type" value="200" required=""> </label> 
    <label> VVip:</label> <label> <input type="radio" class="ticket_type" name="ticket_type" value="500" required=""> </label> 
</div> 

<div class="form-group"> 
    <label> Number Of Adults: </label> 
    <label> 
     <select id="number-of-adults"> 
      <option>Select</option> 
      <option>1</option> 
      <option>2</option> 
      <option>3</option> 
      <option>4</option> 
      <option>5</option> 
      <option>6</option> 
      <option>7</option> 
      <option>8</option> 
      <option>9</option> 
      <option>10</option> 
     </select> 
    </label> 
</div> 

向下拉选择添加了id属性。

JavaScript的计算:

var calculate_total_cost = function() { 
    var ticket_type_val = +$('input[name=ticket_type]:checked').val(); 
    var number_of_adults = +$('#number-of-adults').val()); 
    return (isNan(ticket_type_val) ? 0 : ticket_type_val) * (isNan(number_of_adults) ? 0 : number_of_adults); 
}; 

JavaScript的事件处理程序:

$('#number, #number-of-adults').change(function(){ 
    var total_cost = calculate_total_cost(); 
    if (total_cost > 0) { 
     alert("The current cost is: " + total_cost); 
    } 
}); 

当或者单选按钮或下拉列表中选择被改变这将正确地处理重新计算。

相关问题