1

私の場合、ラジオボックスの列があり、すべてのラジオに値があります。この値を計算し、結果を DIV に配置する必要があります。

私の問題は、以前に選択したラジオンの値を減算する方法が見つからないことです。サンプルのマークアップをお見せしましょう:

<table>
      <tr>
        <td><input name="tools" value="20" type="radio"></td>
        <td><input name="tools" value="300" type="radio"></td>
        <td><input name="tools" value="1000" type="radio"></td>
     </tr>
     <tr>
       <td><input name="addons" value="5" type="radio"></td>
       <td><input name="addons" value="10" type="radio"></td>
     </tr>
</table>
<div id="result"></div>

JavaScript :

var radioClick   = $('input[type="radio"]');

radioClick.on('change', function(evt){

      // function sub or add the price... 
      // here is a shortcut of the add calc version...
      var price = $(this).val(),
      showPrice = $('#result').text(),
      endresult = parseFloat(showPrice) + parseFloat(price),
      $('#result').text(endResult);
});

チェックボックスを使用すると問題なく動作しますが、ラジオボーイの場合、これを識別するためのクリックイベントがありません。

最初の行には radios が表示されname=toolsます。ここでは、最初に値 20 を使用します。その後、値 20 が に表示され#resultます。しかし、今別のラジオを使用name=toolsすると、新しい値が 20 に追加されます。それが私の問題です。この値を取得して減算するために、選択前のラジオボタンを見つける方法がわかりません。

4

4 に答える 4

4

これを使用してみてください: html コード:

<table>
  <tr>
    <td><input name="tools" class="test1" value="20" type="radio"></td>
    <td><input name="tools" class="test1" value="300" type="radio"></td>
    <td><input name="tools" class="test1" value="1000" type="radio"></td>
 </tr>
 <tr>
   <td><input name="addons" class="test" value="5" type="radio"></td>
   <td><input name="addons" class ="test" value="10" type="radio"></td>
 </tr>

JavaScript:

<script>

var testPrice  = 0;
var test1Price = 0;
var endprice = 0;
var price ='';
 $('.test').click(function(){
 price = $(this).val();
 testPrice = price;
 endPrice = parseFloat(testPrice) + parseFloat(test1Price),

  $('#result').text(endPrice);
 });
 $('.test1').click(function(){
 var price = $(this).val();
  test1Price = price;
   endPrice = parseFloat(testPrice) + parseFloat(test1Price),
  $('#result').text(endPrice);
  });


   </script>

http://jsfiddle.net/rxrzX/でデモを試してください

于 2013-04-22T11:48:02.637 に答える
0

引き算する必要はありません。2 diff ラジオ ボタンの 2 つの値を見つけることができます:toolsaddons. 次に、それらを追加して、次の方法でdiv

ラジオボタンの値を取得できます:

$('input[name=radioName]:checked').val();

私はこれを試してみると思います:

var radioClick   = $('input[type="radio"]');

radioClick.on('change', function(evt){
      // function sub or add the price... 
      // here is a shortcut of the add calc version...
      var toolsprice = $('input[name=tools]:checked').val(),
      var addonsprice = $('input[name=addons]:checked').val(),
      endresult = parseFloat(toolsPrice) + parseFloat(addonsprice),
      $('#result').text(endResult);
});
于 2013-04-22T11:27:47.077 に答える