jquery - 使用select标记显示和隐藏DIV

时间:2014-02-14 21:24:50

标签: javascript jquery html select show-hide

<label for="continent">Select Continent</label>
<select id="continent" onchange="countryChange(this );">
    <option value="empty">Select a Continent</option>
    <option value="North America">North America</option>
    <option value="South America">South America</option>
    <option value="Asia">Asia</option>
    <option value="Europe">Europe</option>
    <option value="Africa">Africa</option>
</select>
<br/>
<label for="country">Select a country</label>
<select id="country">
    <option value="0">Select a country</option>
</select>
<div id="soc-pri">
    <label for="company">Company</label>
    <input name="customer" type="radio" value="company" />
    <label for="private">Private</label>
    <input name="customer" type="radio" value="private" />
</div>
<div id="lib-ass">
    <label for="individual firm / freelancer">Individual Firm / Freelancer Professionista</label>
    <input name="customer" type="radio" value="privato" />
    <label for="association">Associazione</label>
    <input name="customer" type="radio" value="association" />
</div>




$(document).ready(function () {
    $("select").change(function () {
        if ($("select option:selected").val() == "Europe") {
            $('#lib-ass').show();
            $('#soc-pri').show();

        } else if ($("select option:selected").val() != "Europe") {
            $('#lib-ass').hide();
        }
    }).change();
});

各位大家好,我刚开始研究jquery。 我有两个选择字段,包含大陆和国家/地区。

我的需求nascodere显示了两个DIV,“lib-ass”和“soc-first”:

1)当您选择欧洲大陆时,会出现DIV“lib-ass”。 没关系

2)当你没有选择欧洲大陆的欧洲DIV“lib-ass”时,会隐藏。 没关系

3当你没有选择国家DIV英国时,“lib-ass”必须隐藏。 这不行

当您选择国家DIV UK时,您必须显示“lib-ass”。 这不行

我的问题是我无法隐藏显示,当你选择你的国家英国时,ID为“lib-ass”的DIV标签。

我哪里错了?

我希望averdato尽可能多的信息。 感谢

http://jsfiddle.net/carmy/jg7Ls/6/

2 个答案:

答案 0 :(得分:1)

http://jsfiddle.net/J2XDk/1/这是你想要做的吗?

我做了一些更改:可以通过直接在select上调用select来检索.val()值(无需查找所选选项)。我也使用选择框ID专门查找它,因为只是做$('select')是不明确的。将值保存到变量,因此您不必多次执行jQuery。欧洲检查的替代条件可以使用其他条件,无需专门检查!= "Europe"

$(document).ready(function () {

    $("select").change(function () {
        var continent = $('#continent').val(),
            country = $('#country').val(),
            $libass = $('#lib-ass'),
            $socpri = $('#soc-pri');

        if (continent === "Europe") {
            $libass.show();
            $socpri.show();

        } else {
            $libass.hide();
        }

        if(country === 'Britain') {
            $libass.hide();                
        } else {
            $libass.show();   
        }

    }).change();
});

答案 1 :(得分:0)

您可以在逻辑中添加以下内容:

$("#country").change(function(){
            if($("#country option:selected").val() == "Britain") {
                $('#lib-ass').show(); 
                $('#soc-pri').show();
            }else{
                $('#lib-ass').hide();
            }
 }).change();

国家/地区是所选国家/地区的选择框。主题标签(#)用于在Jquery中调用特定的ID。

Here is a working example