从下拉框中选择时启用字段

时间:2012-11-26 00:16:42

标签: javascript

我的联系表单页面,对于用户编辑详细信息,有两个下拉字段,“country”和“city”。 我希望当用户编辑他的详细信息时,“城市”字段将被禁用,直到“国家/地区”下拉菜单中选择了某些内容。

<form name="item" action="<?php echo base_url(true) ?>" method="post">

<label><?php _e('Country', 'my_theme'); ?></label>
<?php ItemForm::country_select(get_countries(),user()) ; ?>

<label><?php _e('City', 'my_theme'); ?></label>
<?php ItemForm::cities_select(get_cities(),user()) ; ?>

<button class="itemFormButton" type="submit"></button>
</form>

我在javascript中试过'onchange',可能语法错误......

我该如何创建? THX。

2 个答案:

答案 0 :(得分:1)

这可能会对您http://jsfiddle.net/GZ269/有所帮助。这使用jquery。

Country:<br />
<select id="drop1">
    <option value="">Select Country</option>
    <option value="c1">Country 1</option>
    <option value="c2">Country 2</option>
</select>
<br />
City:<br />
<select id="drop2" disabled >
    <option value="">Select Country</option>
    <option value="c1">Country 1</option>
    <option value="c2">Country 2</option>
</select>

Javascript功能:

$("#drop1").change(function(){
    var country = $(this).val();

    if(!country){
        $("#drop2").attr("disabled", true);
        return false;
    }

    $("#drop2").attr("disabled", false);
});​

答案 1 :(得分:0)

您应该使用Javascript的onchange事件执行此操作,当此事件被触发时,您有两种选择:

  • 使用ajax查询所选国家/地区的城市。
    • 如果您(几乎)支持(几乎)所有国家/地区,这是很好的。
    • 此处必须开发一个PHP脚本,以便在触发此事件时进行查询。
  • 与所有支持的国家/地区的城市保持一致。
    • 如果需要你覆盖许多国家,那就太笨了。
    • 如果您需要为任何国家/地区添加更多城市,则不太灵活。