我在ASP.Net中有一个单选按钮列表,下面有一个文本框。我希望能够根据单选按钮列表中选择的内容更改文本框的maxLength。我已经尝试了所有的东西,但我显然错过了一些东西。
这是我的JS: -
function ValidateCCN() {
var x = document.getElementById('RadioButtonListPayment');
var y = document.getElementById('TextBoxCCN');
if (x.selectedIndex = "Visa")
{ y.maxLength = '5'; }
else
{ y.maxLength = '2';}
}
这是我的HTML / ASP
<asp:Label ID="LabelCard" CssClass="labels" runat="server" Text="Select a payment option: "></asp:Label><br />
<asp:RadioButtonList ID="RadioButtonListPayment" runat="server" onchange="ValidateCCN();">
<asp:ListItem Value="Visa">Visa</asp:ListItem>
<asp:ListItem Value="MasterCard">MasterCard</asp:ListItem>
<asp:ListItem Value="Discover">Discover</asp:ListItem>
<asp:ListItem Value="American Express">American Express</asp:ListItem>
</asp:RadioButtonList>
<asp:Label ID="LabelCCN" CssClass="labels" runat="server" Text="Credit Card Number: "></asp:Label><br />
<asp:TextBox ID="TextBoxCCN" CssClass="textbox" runat="server"></asp:TextBox>
错误: - “其他声明无效”
答案 0 :(得分:0)
你有几个问题。您将在ListItems中专门设置GroupName,然后在javascript中循环访问选定的GroupName。
ASPX:
<asp:RadioButtonList ID="RadioButtonListPayment" runat="server" onchange="ValidateCCN();">
<asp:ListItem Value="Visa" GroupName="CCType">Visa</asp:ListItem>
<asp:ListItem Value="MasterCard" GroupName="CCType">MasterCard</asp:ListItem>
<asp:ListItem Value="Discover" GroupName="CCType">Discover</asp:ListItem>
<asp:ListItem Value="American Express" GroupName="CCType">American Express</asp:ListItem>
</asp:RadioButtonList>
JS
function ValidateCCN() {
var y = document.getElementById('TextBoxCCN');
var x = document.getElementsByName('CCType');
for(var i = 0; i < x.length; i++) {
if (x[i].checked) {
if (x.value == "Visa")
y.maxLength = '5';
else
y.maxLength = '2';
break;
}
}
}
此外,您应该在if语句中使用比较运算符==
而不是赋值运算符=
。
答案 1 :(得分:0)
您在if
语句中使用赋值运算符而不是比较运算符。改变这个:
if (x.selectedIndex = "Visa")
到这个
if (x.selectedIndex == "Visa")
答案 2 :(得分:0)
**js**
<script>
$(document).ready(function(){
$('input[name="theName"]').change(function(){
if($('#option-1').prop('checked')){
alert('Option 1 is checked!');
$('#name').attr('maxlength', '13');
}else{
alert('Option 2 is unchecked!');
$('#name').attr('maxlength', '5');
}
});
});
</script>
**html**
<body>
<input type="radio" name="theName" value="1" id="option-1">no
<input type="radio" name="theName" value="2">yes
<br>
<label>name:</label>
<input type="text" id="name"></input>
</body>