首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PerformClick on RadioButtonList ListItem

PerformClick on RadioButtonList ListItem
EN

Stack Overflow用户
提问于 2014-10-22 16:24:01
回答 1查看 344关注 0票数 0

我有一个带有javascript onclick函数的RadioButtonList,当用户单击它时会触发它。可以在整个无线电按钮列表上或在单个ListItem上执行一次操作,就像在单个RadioButton上那样?

我有一个带有隐藏复选框的GridView,用于知道用户是否修改了该行上的内容:

代码语言:javascript
复制
    <asp:TemplateField ShowHeader="false" HeaderStyle-BackColor="White">  
        <ItemStyle BorderColor="White" Width="5%" />
            <ItemTemplate>
                <asp:CheckBox runat="server" Style="display: none" Text="" ID="chkDaPa" Checked="false" />
            </ItemTemplate>
    </asp:TemplateField>

在数据库的gridview上,我在无线电按钮列表上分配了一个javascript,它选中了隐藏的复选框,因此我知道我必须保存该行:

代码语言:javascript
复制
 rdDaPa.Attributes.Add("onclick", "$('#" + chkDaPa.ClientID + "').attr('checked', true);");


<asp:TemplateField> 
    <ItemStyle HorizontalAlign="Center" Width="10%" Wrap="false" />
        <ItemTemplate>
            <asp:RadioButtonList RepeatLayout="Flow" ID="rdDaPa" runat="server" RepeatDirection="Horizontal" SelectedValue='<%#Eval("DaPa")%>'>
                <asp:ListItem Text="SI" Value="True"></asp:ListItem>
                <asp:ListItem Text="NO" Value="False"></asp:ListItem>
                <asp:ListItem Value="" Text="" style="display: none" />
            </asp:RadioButtonList>
        </ItemTemplate>
</asp:TemplateField>

如果用户在某一行的无线电按钮列表上手动设置一个值,它就能正常工作。出现此问题是因为该按钮会自动设置值上的所有无线电按钮列表,但在这种情况下,javascript不会被触发:

代码语言:javascript
复制
RadioButtonList rdDaPag = (RadioButtonList)riga.FindControl("rdDaPa");
rdDaPa.SelectedValue = "True";

因为没人点击过它。我已经看到了:http://msdn.microsoft.com/en-us/library/system.windows.forms.radiobutton.performclick%28v=vs.100%29.aspx和我认为这是我所需要的,但是可以在ListItem上而不是RadioButton上使用吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-23 08:46:58

好的,现在我使用javascript完成所有操作,所以我可以直接选中隐藏复选框:

代码语言:javascript
复制
    function accettaTutte() {
        $("#<%=gdDettaglio.ClientID%> tr:has(td)").each(function () {
            var items = $(this).find("[id$='rdDaPa'] input:radio'");
            for (var i = 0; i < items.length; i++) {
                if (items[i].value == 'True') {
                    if (!(items[i].checked)) {
                        items[i].checked = true;
                        $(this).find("[id$='chkDaPa']").attr("checked", "checked");
                    }
                    break;
                }
            }
        });
        return false;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26512309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档