简单jQuery选择器

简单jQuery选择器,jquery,forms,Jquery,Forms,所以我有一个基本的形式 <div id="webForm_Contact"> <form action=""> <label for="form_fName"> Full name: </label> <input type="text" id="form_fName"><br /> <label for="form_email" > Email: <

所以我有一个基本的形式

<div id="webForm_Contact">
    <form action="">
        <label for="form_fName"> Full name: </label>
        <input type="text" id="form_fName"><br />
        <label for="form_email" > Email: </label>
        <input type="text" id="form_email"><br />
        <label for="form_phone"> Phone </label>
        <input type="text" id="form_phone"><br />
        <label for=""> Location: </label>
        <label for="form_radio_london"> London</label>
        <input type="radio" id="form_radio_london" value="London">
        <label for="form_radio_Toronto"> Toronto</label>
        <input type="radio" id="form_radio_Toronto" value="Toronto">        
        <label for="form_radio_other"> Other</label>
        <input type="radio" id="form_radio_other" value="Other">

        <!-- radio select here-->

            <div id="otherCity">
                <label for="form_otherCity"> Other City </label> 
                <input type="text" id="form_otherCity">
            </div>
            <br />
        <input type="submit" value="Submit">

    </form>
</div>

它应该做的是,如果单击“Other”单选按钮,则取消隐藏“otherCity”div以允许表单输入,否则需要隐藏它。我不明白的是出了什么问题。我不是在讨论与浏览器相关的问题,只是代码本身的问题。任何帮助都将不胜感激。

将您的JavaScript更改为:

$(document).ready(function(){
    $("input:radio").change(function(){
        if($('#form_radio_other').is(':checked') ){
            $("#otherCity").css("display","inline");
        }
        else{
            $("#otherCity").css("display","none");
        }
    });
});
您还应该为所有单选输入添加一个具有相同值的
name
属性,这样它们就可以像单选按钮一样工作


JSFIDLE示例:

将JavaScript更改为:

$(document).ready(function(){
    $("input:radio").change(function(){
        if($('#form_radio_other').is(':checked') ){
            $("#otherCity").css("display","inline");
        }
        else{
            $("#otherCity").css("display","none");
        }
    });
});
您还应该为所有单选输入添加一个具有相同值的
name
属性,这样它们就可以像单选按钮一样工作


jsidle示例:

您的jQuery选择器有点混乱

例如:
$('input:radio[name=“form\u radio\u other”]”)。更改…
正在尝试选择一个名为form\u radio\u other的收音机,但该收音机不存在。它应该是
$('form\u radio\u other')


如果($(“form\u radio\u other”)
没有使用
来选择您要查找的内容。

您的jQuery选择器有点混乱

例如:
$('input:radio[name=“form\u radio\u other”]”)。更改…
正在尝试选择一个名为form\u radio\u other的收音机,该收音机不存在。它应该是
$('form\u radio\u other')


如果($(“form\u radio\u other”)
没有使用
来选择您要查找的内容。

这里有多个问题:

  • 单选按钮名称必须相同,才能将它们放在同一组中
  • JQuery CSS函数类似于
    .CSS(“attr”、“value”)
    ,而不是
    .CSS(“attr:value”)


这里有多个问题:

  • 单选按钮名称必须相同,才能将它们放在同一组中
  • JQuery CSS函数类似于
    .CSS(“attr”、“value”)
    ,而不是
    .CSS(“attr:value”)


您的HTML(
)中没有
name
属性,并且JQuery
css
函数无效

像这样改变:

$('#form_radio_other').change(function(){
    if($("#form_radio_other").is(':checked') ){
       $("#otherCity").css("display","inline");
    }
    else{
        $("#otherCity").css("display","none");
    }
});

您的HTML(
)中没有
name
属性,并且JQuery
css
函数无效

像这样改变:

$('#form_radio_other').change(function(){
    if($("#form_radio_other").is(':checked') ){
       $("#otherCity").css("display","inline");
    }
    else{
        $("#otherCity").css("display","none");
    }
});

为了只选择一个单选按钮,您必须为每个单选按钮使用
name
属性


示例:

为了只选择一个单选按钮,您必须为每个单选按钮使用
名称
属性


示例:

是的,刚刚看到并修复了它。谢谢!是的,刚刚看到并修复了它。谢谢!谢谢!自从我做了这样的jQuery以来,已经有一点了。我很感激。谢谢!自从我做了这样的jQuery以来,已经有一点了。我很感激。