Jquery没有按预期行事

时间:2013-07-22 14:03:05

标签: jquery html forms

我有供用户选择的选项。单击这些选项会导致显示更多选项和文本框。

我遇到了一个我认为自己掌握的问题。代码是所有其他选项的复制粘贴,但这个特定的选项不起作用。其他的工作得很好。

这是代码的片段:

if ($("#onlyother").is(":checked")) {
    $("#counselorcomments").show("fast");
} else {
    $("#counselorcomments").css("display", "none");
}

上面的部分是在检查选项(#onlyother)时应该检查页面加载的代码片段。

我已经为我的所有选项实现了这种功能,除了这一项外,所有工作都很好。

$(".action").click(function() {
    if ($("#add").is(":checked")) {
        $(".forms").show("fast");
    } else {
        $(".forms").hide("fast");
    }
    if ($("#onlyother").is(":checked")) {
        $("#counselorcomments").show("fast");
    } else {
        $("#counselorcomments").hide("fast");
    }
});

这段代码是我用来实际选择的选项。 (这项工作如预期的那样。

<label class ="action"><input type="radio" name="action" value="Other" id="onlyother" <?php echo set_radio('action', 'Other'); ?>/><font color="#ff0000" size="2"><strong>Other</strong></font></label>

这是导致问题的单选按钮。

这是必须出现/消失的框

<textarea name="counselorcomments" rows="5" cols="40" id="counselorcomments" placeholder="Comments"><?php echo set_value('counselorcomments') ?></textarea>

jsFiddle

2 个答案:

答案 0 :(得分:0)

所以这就是问题:

我有#addother和#onlyother

如果选中则设置为,然后打开#counselorcomments

所以当一个人被检查时(#Onlyother)#addother强迫#counselorcomments框保持关闭状态。

我所做的是创建另一个文本区域:

<textarea name="counselorcomments" rows="5" cols="40" id="emailcomments" placeholder="Emailed Counselor Comments"><?php echo set_value('counselorcomments') ?></textarea>
<textarea name="counselorcomments" rows="5" cols="40" id="counselorcomments" placeholder="Counselor Comments"><?php echo set_value('counselorcomments') ?></textarea>

答案 1 :(得分:0)

我仍然不是百分百肯定,你想要做什么,但这有帮助吗? 您可以使用jQuery的事件监听器

.change()

http://jsfiddle.net/WM4uJ/2/