-3

可能重复:
使用 javascript 对 html 脚本进行小修改,我无法整理

HTML:

<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" onchange="blahblahblah();"/>other
<input type="text" id="other_field" name="other_field" onblur="checktext(this);"/>
</div>

CSS:

<style type="text/css">
#other_field{
visibility: hidden;
width:40px;
height:14px;
border:1px solid #777;
background-color:#111;
font-size:10px;
color:#666;
}
</style>

jQuery:

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

一切都很好..但问题是这个..当我点击“其他”单选按钮时没有任何反应..虽然它应该打开其他字段。

4

2 回答 2

3
if ($('input[name=numbers]:checked').val() === 'other') {
    // show hidden field
}

这将找到任何一个单选按钮checked,并检查其值为“其他”。

于 2013-01-23T18:31:10.120 回答
1

如果blahblahblah仅被other单选按钮调用,则无需担心您编写的大部分逻辑。尝试通过 jQuery 专门将处理程序绑定到other单选按钮。

HTML:

<input type="radio" id="otherRadio" name="numbers" value="other"/>other

JS:

$('#otherRadio').on('change', function () {
    if (this.checked) {
        $("#other_field").show();
    } else {
        $("#other_field").hide();
    }
});

如果由于某种原因您无法将 ID 添加到标记中,您可以在其位置使用不同的选择器,例如$('input[type="radio"]:contains("other")');

于 2013-01-23T18:41:08.150 回答