1

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

<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 中尝试过 '<code>onchange',可能语法错误……</p>

我怎样才能创建这个?谢谢。

4

2 回答 2

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);
});​
于 2012-11-26T00:45:50.177 回答
0

你应该用 Javascript 的onchange事件来做这件事,当这个事件被触发时,你有两个选择:

  • 查询使用 ajax 选择的国家的城市。
    • 如果您支持(几乎)世界上所有国家,这很好。
    • 在这里,您必须开发一个 PHP 脚本,以便在触发此事件时进行查询。
  • 与所有支持的国家/地区的城市有一个很好的阵列。
    • 如果需要覆盖许多国家/地区,就太笨重了。
    • 不太灵活,如果您需要为任何国家/地区添加更多城市。
于 2012-11-26T00:25:53.043 回答