从Javascript中选择一个无线电控件

问题描述 投票:1回答:1

我有一组2个asp无线电控件,我想在ajax回发中选择其中一个。我可以放断点并且可以告诉代码被击中,但没有任何事情发生。我尝试了5-10种不同的变化,但似乎没有任何效果。 .css位是为了测试我能找到合适的控件,这是有效的。 CSS被应用。

我试过.trigger("click"),也是attr(checked="checked" and true)。尝试过我可以在Google上找到的任何内容。但第二个选项没有得到检查。

 $("[main=true]").Checked = true;
 $("[main=true]").css("background-color", "yellow");

HTML

<asp:RadioButton GroupName="Complete" runat="server" Text="Yes" Checked="true" />
<asp:RadioButton GroupName="Complete" runat="server" Text="No" main="true" /><br />

我似乎遇到的另一个小问题是,如果我点击“是”或“否”,两个选项框都会被取消选中。有什么理由吗?

        $(window).load(function () {
        $("[main=false]").prop('checked', false);
        $("[main=true]").prop('checked', true);
        $("[main=true]").prop('checked', true);
        $("[main=true]").attr('checked', true);
        $("[main=true]").Checked = true;
        $("[main=true]").css("background-color", "yellow");
        var id = localStorage.getItem("CustomerID");
        $('img[alt = "' + id + '"]').trigger("click");
        localStorage.clear();
    });

HTML输出

 <span>Mark as complete:</span><span main="false">
 <input id="gvCustomers_ctl07_0" type="radio" name="gvCustomers$ctl02   $Complete" value="ctl07" checked="checked" />
   <label for="gvCustomers_ctl07_0">Yes</label>
  </span><span main="true"><input id="gvCustomers_ctl08_0" type="radio"     name="gvCustomers$ctl02$Complete" value="ctl08" />
      <label for="gvCustomers_ctl08_0">No</label></span>

顺便说一下,有多个无线电控件,其主要属性设置为true,但我希望所有这些控件都被选中。不确定这是否有所不同。没有意义的是CSS正在应用。

javascript jquery input option
1个回答
0
投票

我有一个困惑,HTML怎么样

<asp:RadioButton GroupName="Complete" runat="server" Text="Yes" Checked="true" />

据我所知,无论您使用何种编程语言,它首先转换为HTML,然后在浏览器中呈现。

因此,我可以假设,您的代码将被转换为

<input name='Complete' type='radio'  checked='true'></input>
<input name='Complete' type='radio' main='true'></input>

一个非常简单和天真的解决方案将解决您的问题

var elemArray=document.getElementsByName("Complete");
elemArray[0].checked=true;//For 1 radio
elemArray[1].checked=true; //For 2 radio

或者您可以简单地遍历元素数组

for(i=0;i<elem.length;i++){
if(elem[i].hasAttribute('main')){
elem[i].checked=true;//if the second element do not have any main attribute
//or
if(elem[i].main='true'){
elem[i].checked=true;
}
}
}
© www.soinside.com 2019 - 2024. All rights reserved.