2

How do i get radio button value by using select options?

I have few radio buttons with their values. To be display those values with dropdown selection

<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

6
  • show what you have tried so far Commented May 13, 2016 at 9:29
  • what you want to achieve? Commented May 13, 2016 at 9:30
  • I don't understand this question. Commented May 13, 2016 at 9:35
  • Please check the image for understanding. Commented May 13, 2016 at 9:37
  • Where will the value be displayed? Or do you simply need it to be calculated? Commented May 13, 2016 at 9:39

5 Answers 5

1

Is this what you need?

<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>
Sign up to request clarification or add additional context in comments.

2 Comments

Yeah, like this, but, radio button value should be multiply with selected value.
This is what i need exactly. Thanks for the help.
0

Find the explanation in comments

//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>

Comments

0

you need to use :checked. Also you can add the change to both radio and select and use isNaN if the select has no value.

$('#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>

Comments

0

Try this:

<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)
        }
    });

Comments

0

The HTML with changes:

<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>

Added id attributes to the dropdown select.

The javascript calculation:

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);
};

The javascript event handlers:

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

This will correctly handle recalculation when either the radio buttons or the dropdown select are changed.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.