我有一组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正在应用。
我有一个困惑,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;
}
}
}