如果在JavaScript中选中复选框,我该如何启用文本框:
有人可以告诉我如何正确地做到这一点! 这是我的代码:
function checkLevelZone() {
var txtOffSite = $find("<%=txtOffSite.ClientID %>");
var checkbox = $find("<%=OffSiteCheck.ClientID %>");
if (checkbox.checked) {
txtOffSite.removeAttribute('Enabled');
} else {
txtOffSite.disabled = true;
}
}
ASP:
<telerik:RadButton ID="OffSiteCheck" runat="server" ToggleType="CheckBox" ButtonType="ToggleButton" OnClientCheckedChanged="checkLevelZone" Skin="Windows7"></telerik:RadButton>
<telerik:RadTextBox ID="txtOffSite" runat="server" Enabled="false"> </telerik:RadTextBox>
答案 0 :(得分:0)
使用此:
txtOffSite.disabled = !checkbox.checked;
答案 1 :(得分:0)
试一试
function checkLevelZone() {
var checkbox = $("#<%=OffSiteCheck.ClientID %>");
if (checkbox.checked) {
$("#<%=txtOffSite.ClientID %>").removeAttribute('disabled');
} else {
$("#<%=txtOffSite.ClientID %>").attr("disabled", "disabled");
}
}
答案 2 :(得分:0)
它为我工作......
$(&#34;#checkBoxId&#34)。变化(()的函数 {
$(&#34; #textBoxId&#34; />").prop("disabled" ;,!$(this).is(&#39;:checked&#39 ;));
});
答案 3 :(得分:0)
由于您使用了OnClientCheckedChanged,因此您的函数签名不正确。
function checkLevelZone(sender, args) {
if (args.get_checked()) { // Most rad controls use .set_enabled(true), the RadTextBox is different.
$find('<%= txtOffSite.ClientID%>').enable(); // $find() works, $() doesn't always work.
}
else {
$find('<%= txtOffSite.ClientID%>').disable();
}
}
Online documentation for RadNumericTextBox,其中大部分适用于RadTextBox