用于动态隐藏类的单选按钮

时间:2011-11-26 02:35:05

标签: jquery

“你没有选择X”在选择单选按钮后不会隐藏。

脚本:

 $('input').live('change', function ()
 {
   if($('debt:radio:checked')) {
     $('.debt1').html('<span style="display:none"></span>');}
   if($('assets:radio:checked')) {
     $('.assets1').html('<span style="display:none"></span>');}
   if($('kids:radio:checked')) {
     $('.kids1').html('<span style="display:none"></span>');}
 });

HTML:

    Debt: <br />
    <input name="debt" type="radio" value="0" />
    <input name="debt" type="radio" value="-1" />
    <input name="debt" type="radio" value="-2" /><br />


    Kids:<br />
    <input name="kids" type="radio" value="0" />
    <input name="kids" type="radio" value="1" />
    <input name="kids" type="radio" value="3" /><br />


    Assets:<br />
    <input name="assets" type="radio" value="4" />
    <input name="assets" type="radio" value="5" />
    <input name="assets" type="radio" value="6" /><br />

    <br />

    <span class="debt1">You have not selected debt</span><br />
    <span class="kids1">You have not selected kids</span><br />
    <span class="assets1">You have not selected assets</span><br />

此处示例:http://jsfiddle.net/ZJpRj/1/

这里的工作示例:http://jsfiddle.net/ZJpRj/6/

2 个答案:

答案 0 :(得分:2)

<强> WORKING DEMO

CODE:

$('input').live('change', function() {
    if ( $('input[name=debt]:radio').is(':checked') ) {
        $('.debt1').html('');
    }
    if ( $('input[name=kids]:radio').is(':checked') ) {
        $('.kids1').html('');
    }
    if ( $('input[name=assets]:radio').is(':checked') ) {
        $('.assets1').html('');
    }
});

答案 1 :(得分:1)

首先,你没有在你的小提琴中选择jquery。

然后,你的if语句需要改变很多。

if($('debt:radio:checked')) {

应该是更像这样的东西:

if($('input[name="debt"]:radio:checked').length > 0) {

您的代码存在一些问题。首先,选择器debt:radio:checked。只需将dept<dept></dept>之类的元素匹配,而不是使用名称dept的输入。第二,if($("..."))将始终返回true,因为jquery始终返回一个对象。您想检查该对象是否包含任何元素,这就是我使用length

的原因