如何在jquery中使用其他div更改div内容?

时间:2014-03-14 08:53:00

标签: javascript jquery html css

我有关于更改div内容的问题。我的表单有一个区域选择框。选项包括菲律宾和美国。逻辑是用户选择菲律宾。选择框下方的文本框也将自动替换为具有选择框的其他div。如果用户选择美国或没有选择,它将只显示下面的文本框。默认情况下,选择框下方有一个文本框。这是我的代码。

<label style="font-weight: normal">Country</label>
<select style="width: 250px" name="region_country" id="region_country">
    <option value="">--Select Country--</option>
    <option value="Philippines">Philippines</option>
    <option value="United States">United States</option>
</select>
<label style="font-weight: normal">Region</label><br />
<div id="region_selection_text">
    <input type="text" size="50" class="form-control" id="region" name="region" />
</div>
<div id="region_selector_selection">
    <select class="form-control">
        <option></option>
    </select>
</div>

在我的jquery中我有这个。

$("#region_country").on('change',function(){

    var region = $("#region_country").val();

    if(region == 'Philippines'){

        //display selectbox here

    } else {

        //display textbox here if no selection or if the selection is United States

    }

});    

我的解决方案是为它创建一个隐藏和显示功能。或者有什么方法可以实现这一目标吗?如您所见,标签Region下面有两个div。第一个div用于文本框,第二个div用于选择框。

1 个答案:

答案 0 :(得分:1)

您可以使用.toggle()之类的

var $rt = $('#region_selection_text'),
    $rs = $('#region_selector_selection');
$("#region_country").on('change', function () {
    var isP = this.value == 'Philippines'
    $rt.toggle(!isP);
    $rs.toggle(isP);
}).change();

演示:Fiddle