根据以前的选项启用/禁用字段

时间:2014-10-02 21:01:52

标签: jquery html5

我正在尝试创建一个表单,如果用户选择的是美国以外的国家/地区,该表单将会显示状态列表。所以这就是我所拥有的:

<select id="idfrom_country" name="nmfrom_country" title="From Country">
   <option value="United States">United States</option>
   <option value="...">...</option>
</select>

<select id="idfrom_state" name="nmfrom_state" title="From State">
   <option value="Outside U.S.">Outside U.S.</option>
   <option value="Arizona">Arizona</option>
   <option value="...">...</option>
</select>

然后

<script>
    var from_country = $('#idfrom_country option:selected').val();

    if (from_country != "United States") {
        $('#idfrom_country').attr("disabled", true);
        $('#idfrom_country').val("Outside U.S.");
    }
    else {
        $('#idfrom_country').attr("disabled", false);
        $('#idfrom_country').val("Arizona");
    }
</script>

我是一个真正的菜鸟,所以请保持温柔。

由于

3 个答案:

答案 0 :(得分:2)

我想你想使用jquery change事件:

&#13;
&#13;
$("select").on("change", function () {
        var from_country = $(this).val();
        if (from_country != "United States") {
            $('#idfrom_country').attr("disabled", true);
            $('#idfrom_country').val("Outside U.S.");
        } else {
            $('#idfrom_country').attr("disabled", false);
            $('#idfrom_country').val("Arizona");
        }
    });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="idfrom_country" name="nmfrom_country" title="From Country">
    <option value="United States">United States</option>
    <option value="...">...</option>
</select>
<select id="idfrom_state" name="nmfrom_state" title="From State">
    <option value="Outside U.S.">Outside U.S.</option>
    <option value="Arizona">Arizona</option>
    <option value="...">...</option>
</select>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

添加onselect =“your_function()”:

<select id="idfrom_country" name="nmfrom_country" title="From Country" onselect="your_function()">
   <option value="United States">United States</option>
   <option value="...">...</option>
</select>

<script>
function your_function() {
    var from_country = $('#idfrom_country option:selected').val();

    if (from_country != "United States") {
        $('#idfrom_country').attr("disabled", true);
        $('#idfrom_country').val("Outside U.S.");
    }
    else {
        $('#idfrom_country').attr("disabled", false);
        $('#idfrom_country').val("Arizona");
    }
}
</script>

答案 2 :(得分:0)

认为这就是你所追求的 - 对以前的代码稍作修改。

$("select").on("change", function () {
        var from_country = $(this).val();
        if (from_country != "United States") {
            $('#idfrom_state').attr("disabled", true);
            $('#idfrom_state').val("Outside U.S.");
        } else {
            $('#idfrom_state').attr("disabled", false);
            $('#idfrom_state').val("Arizona");
        }
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="idfrom_country" name="nmfrom_country" title="From Country">
    <option value="United States">United States</option>
    <option value="...">...</option>
</select>
<select id="idfrom_state" name="nmfrom_state" title="From State">
    <option value="Outside U.S.">Outside U.S.</option>
    <option value="Arizona">Arizona</option>
    <option value="...">...</option>
</select>