我创建了一个网页“Default.aspx”,其中我已经拍摄了字段: 名字,姓氏,账户名称,标题(单选按钮列表),AccountNumber和AccountFormat 在“Default.aspx”页面下,我也使用了单选按钮列表,其值为是和否。如果我选择是,则以下字段可见性应设置为false:
名字,姓氏
如果我选择“否”,则以下字段可见性应设置为true:
帐户名称,帐号
为此,我在“Default.aspx”
中编写了以下Java Script代码function EnableDisableTaxID() {
if (document.getElementById("<%=rdOpeningSubAccount.ClientID %>") != null) {
var openSubAccountList = document.getElementById('<%= rdOpeningSubAccount.ClientID %>');
var fbo1RadioList = document.getElementById('<%=fbo1RadioButtonList.ClientID %>').value;
var isOpenSubAccount;
if (openSubAccountList != null) {
var openSubAccount = openSubAccountList.getElementsByTagName("input");
for (var i = 0; i < openSubAccount.length; i++) {
if (openSubAccount[i].checked) {
isOpenSubAccount = openSubAccount[i].value;
alert("Print" + isOpenSubAccount);
}
}
}
alert(typeof(isOpenSubAccount));
if (isOpenSubAccount == 'true') {
FirstName.visible = true;
LastName.visible = false;
AccountTitling.visible = true;
lblFirstName.visible=false;
lblLastName.visible=false;
}
else if (isOpenSubAccount == 'false') {
AccountTitling.visible = true;
AccountNumber.visible = false;
lblAccountTitling.visible = true;
lblAccountNumber.visible = false;
}
}
}
但是,我从单选按钮列表中获取所需的值,但是,当我去检查radiobuttonlist的所选值是否为true时,上面的代码不起作用。我不知道我错过了什么。我知道直接使用下面的代码是行不通的:
if (isOpenSubAccount == 'true') {
FirstName.visible = true;
LastName.visible = false;
AccountTitling.visible = true;
lblFirstName.visible=false;
lblLastName.visible=false;
}
请帮助我,因为我被困在这里......
答案 0 :(得分:1)
对于Visible = false;
document.getElementById('FirstName').style.visibility="hidden";
对于Visible = true;
document.getElementById('FirstName').style.visibility="visible";
启用:
document.getElementById('FirstName').disabled = false;
禁用:
document.getElementById('FirstName').disabled = true;
答案 1 :(得分:0)
没有; document.getElementById只会获取具有您指定ID的元素(HTML规范非常明确,页面上只有一个元素可以具有特定ID)。
每个单选按钮都有不同的ID属性,但是如果查看页面的HTML源代码,您会看到列表中的所有单选按钮都具有相同的NAME属性。这就是你应该使用“单选按钮的名称”。
onclick =“GetRadioButtonValue('&lt;%= radiobuttonlist1.ClientID%&gt;')”
function GetRadioButtonValue(id)
{
var radio = document.getElementsByName(id);
for (var j = 0; j < radio.length; j++)
{
if (radio[j].checked)
alert(radio[j].value);
}
}
答案 2 :(得分:0)
可以为
完成不可见
document.getElementById('id-name').style.display='none';
<强>可见强>
document.getElementById('id-name').style.display='block';
停用强>
document.getElementById('id-name').setAttribute('disabled', 'disabled');
启用强>
document.getElementById('id-name').removeAttribute('disabled');