在单选按钮列表中设置警报时出错?

Error in setting alert in radiobuttonlist?

我有一个带有 radiobuttonlist.If 的两个文本框,这两个测试是空白的,它应该提醒 "textbox are blank",如果它不是空白,它应该提醒 "date is enabled"。

这是我用 javascript

尝试过的
 function checked() {
        var radio = document.getElementById('<%=rbtn1.ClientId%>');
        var cal1 = document.getElementById('<%=textstqo.ClientId%>').value;
        var cal2 = document.getElementById('<%=textedqo.ClientId%>').value;
    if (radio.checked = true) {

         if(cal1 == '' && cal2 =='')
        {
        alert("dates cannot be blank");
        return false
        }else
        {
        alert("dates are enabled");
         return true
        }
        }

    }

单选按钮列表

<asp:RadioButtonList ID="rbtn1" runat="server" RepeatDirection="Vertical" RepeatLayout="Table" Height="300px" Width="101px" onClick="checked()" >
 <asp:ListItem Text="one" Value="one" Enabled="true"></asp:ListItem>
 <asp:ListItem Text="two" Value="two" Enabled="true" ></asp:ListItem>
<asp:ListItem Text="three" Value="three" Enabled="true"></asp:ListItem>

已编辑 错误:预期功能

第一个警报有效。当我尝试检查其他部分的警报时,它显示了上述错误 我只向您展示了第一个单选按钮 "quaterone",javascript 也用于 quaterone

谁能提前告诉我我在做什么wrongly.Thanks

问题是您为单选按钮使用了错误的 ID。 '<%=rbtn1.ClientId%>_Quaterone'

试试:'<%=rbtn1.ClientId%>'

已编辑:

var radioCont = document.getElementById('<%=rbtn1.ClientId%>');
var radio = radioCont.getElementsByTagName('input')[0];//first radio

您还试图赋值而不是比较:

if (radio.checked = true) { //assignment

试试这个:

if (radio.checked == true) { // though `===` is recommended over `==`

您也可以试试:

if(radio.checked) {
  // to do here
}

将属性改为onchange而不是onclick,这里:

onClick="checked()" >

为了取消选中无线电,将 false 分配给它的状态:

alert("dates cannot be blank");
radio.checked = false; //un-check the radio
return false;

只在第一个单选按钮被选中时才生效,可以这样勾选

if($('#rbtn1 input:radio:checked').val() == 'quaterone'){
    // your condition here...
}