0

繰り返しますが、もう一度...私のJavascript/jQueryの知識に問題があります。今回は、ラジオの値を選択したときに行を表示させたいと思います。行を表示する必要がある部分で迷子になっています。

これは行です:

            <tr class="others" id="others" style="display:none;">
            <th colspan="2"><?php _e('Others', 'shop'); ?></th>
            <td><?php echo fee; ?>&nbsp;&euro;</td>
            </tr>

そしてこれはjqueryです:

      $(document).ready(function() {
      $('input').click(function(){
      var isChecked = $('#payment_method_paypal').prop('checked');
      // make the row appear appear if "payment_method_paypal" is checked
      });  

私はアラートで試しましたが、うまくいきましたが、その行で、Stack Overflowとgoogleで見つけたすべてのソリューションを試しましたが、うまくいきませんでした。

4

3 に答える 3

3

ブール値をjquerysのトグルメソッドに渡すことができます

.toggle(表示または非表示)

要素を表示するか非表示にするかを示すブール値。

これはうまくいくはずです

var isChecked = $('#payment_method_paypal').prop('checked');
$('#others').toggle(isChecked); //show/hide based on the bool

フィドル

于 2012-09-26T11:44:23.313 に答える
1

html

<table>
<tr> <td>-------------------</td></tr>
<tr> <td class="trData">-------SHOW------</td></tr>
<tr> <td>-------------------</td></tr>
</table>

<div id="container">
  <input type="radio" name="colors" id="red" value="show" checked/>Show<br />
  <input type="radio" name="colors" id="blue" value="hide" />Hide<br />
</div>  

JS

$("#container").find("input[type=radio]:checked").on("click", function() {
    if($(this).attr('value')=='show')
    {
        $(".trData").show()
    }else{
        $(".trData").hide()
    }
});​

JS2の方がコンパクトですが、この場合、ラジオ ボタンに正しい値を設定する必要があります。

$("#container").find("input[type=radio]:checked").on("click", function(event) {
    var op= $(this).attr('value');
    jQuery.globalEval('$(".trData").'+op+'()')
});​

デモ

</p>

于 2012-09-26T11:53:13.843 に答える
1

試す

$('#others').hide();

$('#others').show();

その行を表示または非表示にします。

于 2012-09-26T11:42:59.533 に答える