0

How do I disable and make the input field text to hidden when certain value is selected from select list? In my code, I need to disable and make the input text to hidden when "United States" is selected from my drop down.

My HTML: JSFiddle Link

My Javascript:

document.getElementById('BillingCountryCode').onchange = function () {
    if(this.value != '840') {
        document.getElementById("BillingStateProvince").disabled = true;
        document.getElementById("BillingStateProvince").style.display="none"
    } else {
        document.getElementById("BillingStateProvince").disabled = false;
        document.getElementById("BillingStateProvince").style.display="block"
    }
}
4

2 回答 2

3

您的小提琴的问题是您有两个具有相同 ID 的元素。您可以完全执行已有的操作,只需更改状态下拉列表或文本输入中的 ID。如果您简单地将文本输入命名为与 2 相同,则更新后的代码可能如下所示:

document.getElementById('BillingCountryCode').onchange = function () {
    if(this.value != '840') {
        document.getElementById("BillingStateProvince").disabled = true;
        document.getElementById("BillingStateProvince").style.display="none";
        document.getElementById("BillingStateProvince2").disabled = false;
        document.getElementById("BillingStateProvince2").style.display="block";
    }

    else {
        document.getElementById("BillingStateProvince").disabled = false;
        document.getElementById("BillingStateProvince").style.display="block";
        document.getElementById("BillingStateProvince2").disabled = true;
        document.getElementById("BillingStateProvince2").style.display="none";
    }
}
于 2013-05-14T16:15:15.333 回答
0

如果我有问题,只需if像这样反转条件:

if(this.value === "840") { ... } 

这是工作小提琴:http: //jsfiddle.net/antwonlee/cf4Sz/7/

于 2013-05-14T16:12:55.493 回答