javascript到jquery的转换,该代码可以很好地处理带有单选按钮的文本字段的动态外观和消失

javascript到jquery的转换,该代码可以很好地处理带有单选按钮的文本字段的动态外观和消失,javascript,jquery,Javascript,Jquery,伙计们,我为这段代码做了很多尝试,但从javascript到jquery的转换却一无所获 这段代码是不相关的,因为你在工作中发现了这一点。。我添加了这段代码,因为stackoverflow不允许我在没有代码的情况下发布 <div class="rButtons"> <input type="radio" name="numbers" value="10" onclick="uncheck();" />10 <input type="radio" name="numb

伙计们,我为这段代码做了很多尝试,但从javascript到jquery的转换却一无所获

这段代码是不相关的,因为你在工作中发现了这一点。。我添加了这段代码,因为stackoverflow不允许我在没有代码的情况下发布

<div class="rButtons">
<input type="radio" name="numbers" value="10" onclick="uncheck();" />10
<input type="radio" name="numbers" value="20"  onclick="uncheck();" />20
<input type="radio" name="numbers" value="other" onclick="check(this);"/>other
<input type="text" id="other_field" name="other_field" onblur="checktext(this);"/>
</div>

10
20
其他
检查这把小提琴

它运行良好。单击“其他”单选按钮时,文本字段出现,单击任何其他单选按钮时,文本字段消失。。这就是这个脚本的功能,它工作得很好

现在,当我尝试将其更改为jquery代码时,它死掉了。。我可以显示我在jquery中生成的代码,但没有帮助

为同样的事而提琴会有很大帮助

提前谢谢

这就是我所做的

<script>
var $radios = $('input:radio[name=numbers]');
    if ($radios.is(':checked') === true) {
       $("#other_field").show();
    }     
    else
    {
       $("#other_field").hide();
    }   
</script>

var$radios=$('input:radio[name=numbers]');
如果($radios.is(':checked')==true){
$(“#其他_字段”).show();
}     
其他的
{
$(“#其他_字段”).hide();
}   

我把它放在一个函数中,并在radiobutton的“onchange”中调用它,但它不起作用

您只需要从
输入中删除
onclick
onblur
,并通过jQuery附加事件:

$(function(){
    $('.rButtons').on('click', 'input[type="radio"]', function(ev){
        var val = $(this).val();
        val == 'other' ? check(this) : uncheck();
    });
    $('.rButtons').on('blur', '#other_field', function(ev){
        checktext(this);
    });
});

您只需从
输入中删除
onclick
onblur
,并通过jQuery附加事件:

$(function(){
    $('.rButtons').on('click', 'input[type="radio"]', function(ev){
        var val = $(this).val();
        val == 'other' ? check(this) : uncheck();
    });
    $('.rButtons').on('blur', '#other_field', function(ev){
        checktext(this);
    });
});
与:


10
20
其他
演示:

与:


10
20
其他
演示:

您可以使用
.change()
存储
change
事件以检查所选单选按钮的状态,然后在
\other\u字段上应用
.toggle()
以显示或隐藏它

#other_field {
    display: none;
}

我将CSS修改为使用
显示
设置为
,而不是
可见性

您可以使用
.change()
来存储
更改
事件,以检查所选单选按钮的状态,然后在
上应用
.toggle()
以显示或隐藏它

#other_field {
    display: none;
}

我将CSS修改为使用
显示
设置为
,而不是
可见性


请举例说明你尝试过但不起作用的内容,否则SO警察会来给你开罚单,因为你没有展示“你尝试过的内容”。如果web上的所有其他网站都死掉了,那么如果每个人都把代码放在一把小提琴里,SO将无法使用。这就是为什么你应该为你的工作提供一个代码示例。@罗伊·芬利,请现在检查,请展示你尝试过但不起作用的代码示例,否则SO警察会来给你一张没有显示“你尝试过的内容”的罚单。如果web上的所有其他网站都死掉了,那么如果每个人都把代码放在小提琴里,SO将无法使用。这就是为什么您应该提供您的工作的代码示例。@ROY Finley请现在检查
<div class="rButtons">
    <input type="radio" name="numbers" value="10">10
    <input type="radio" name="numbers" value="20">20
    <input type="radio" name="numbers" value="other">other
    <input type="text" id="other_field" name="other_field">
</div>
$("[name=numbers]").change(function() {
    $("#other_field").toggle(this.value === "other");
});
$("#other_field").change(checktext);