首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在javascript函数中获取中继器内的控件以进行验证

在javascript函数中获取中继器内的控件以进行验证
EN

Stack Overflow用户
提问于 2014-06-23 13:06:06
回答 1查看 10.4K关注 0票数 1

我在一个id = "rpContacts“的中继器控件中放置了几个控件。中继器被放置在id = "ParentTable“的表中。我需要验证中继器内的控件(例如,文本框- txtLastName)是否存在与中继器外的另一个文本框内的值重复的值。验证函数由中继器外部的自定义Validator调用。

问题是,在我的javascript函数中,我既不能获得中继器的客户端id,也不能获得中继器中的控件。

如果我给中继器内的控件提供如下所示的呈现ClientId,我就可以获得这些控件的值

代码语言:javascript
运行
复制
$find('ctl00_body_content_rpContacts_ctl00_txtLastName').Value; 

但是对于中继器的每一行,控制的该客户端id将改变。

即。对于第二个中继器行中的txtZip,其id将为'ctl00_body_content_rpContacts_ctl01_txtLastName'.

任何建议,我可以如何做这个验证。

--

中继器代码:

代码语言:javascript
运行
复制
<telerik:RadAjaxPanel ID="AjaxPanel1" runat="server" ClientEvents-OnRequestStart="conditionalPostback">
    <table class="ParentTable">
        <asp:Repeater ID="rpContacts" runat="server">
            <ItemTemplate>
                <tr> <td> 
                    <table class="ParentTable" runat="server" id="tblEC"> 
                        <tr> <td> <div> 
                            <asp:TextBox ID="txtLastName" runat="server" Width="180"/> 
                        </div> </td> </tr> 
                    </table> 
                </td> </tr> 
            </ItemTemplate> 
        </asp:Repeater> 
    </table> 
</telerik:RadAjaxPanel>
EN

回答 1

Stack Overflow用户

发布于 2014-06-23 15:55:57

这是一个简单的演示,您可以通过它获得中继器中控件的id和值

代码语言:javascript
运行
复制
 <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
            <ItemTemplate >              
                <asp:TextBox ID="lblSubject" runat="server" Text='<%#Eval("Name") %>' Font-Bold="true"/><br />
            </ItemTemplate>
        </asp:Repeater>

而jquery将会是

代码语言:javascript
运行
复制
<script type="text/javascript">
        $(document).ready(function () {             
            $('[id*=Repeater1_lblSubject]').on('change', function () {
                var id = $(this).attr('id');
                var value = $('#' + id).val();                  
                alert(id+'_'+value);
            });
        });
    </script>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24358678

复制
相关文章

相似问题

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