-1

There are some radio buttons

<input type="radio" name="highlight" data-price="25.1" value="a1">a1
<input type="radio" name="highlight" data-price="55.4" value="a2">a2
<input type="radio" name="highlight" data-price="65.3" value="a3">a3
<input type="radio" name="highlight" data-price="95.9" value="a4">a4

I want to print the "data-price" of selected radio button with live changing. How can I make this?

2 Answers2

0

I don't know what exactly you are asking.. but if you just want to print the data-price, you can do it this way.

$(function(){
  $('input[type=radio]').on('click',function(){
    data= $(this).data('price');
    $('#result').text(data);
   
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="radio" name="highlight" data-price="25.1" value="a1">a1
<input type="radio" name="highlight" data-price="55.4" value="a2">a2
<input type="radio" name="highlight" data-price="65.3" value="a3">a3
<input type="radio" name="highlight" data-price="95.9" value="a4">a4

<div id='result'>
</div>
BugHunter
  • 1,194
  • 2
  • 9
  • 15
0

HTML

<input class='radio' type="radio" name="highlight" data-price="25.1" value="a1">a1
<input class='radio' type="radio" name="highlight" data-price="55.4" value="a2">a2
<input class='radio' type="radio" name="highlight" data-price="65.3" value="a3">a3
<input class='radio' type="radio" name="highlight" data-price="95.9" value="a4">a4
<input id="price" type="text">

Javascript (onclick)

var inputs = document.getElementsByClassName('radio');
var textbox = document.getElementById('price');
var i;
for (i = 0; i < inputs.length; i++) {
    inputs[i].onclick = function(){
        textbox.value = this.dataset.price;
    }
}

Javascript (eventListener)

for (i = 0; i < inputs.length; i++) {
    function myFn(){
        textbox.value = this.dataset.price;
    }
    inputs[i].addEventListener("change",myFn);
}

https://jsfiddle.net/2zfjfkhL/

LegenJerry
  • 420
  • 3
  • 7