首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript和clientId问题

Javascript和clientId问题
EN

Stack Overflow用户
提问于 2012-11-16 09:18:24
回答 2查看 153关注 0票数 0

嗨,各位,我有一个用户控件:

代码语言:javascript
复制
<input type="text" id="datepicker" runat="server" readonly="readonly" />
 <img src="../images/remove.png" id="test" onclick="ClearFeild()" runat="server" />

我的aspx页面如下:

代码语言:javascript
复制
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolderBody" runat="server">

    <uc:Calendar ID="calSample" runat="server" ChangeMonth="false" ChangeYear="false"
        DateFormat="dd-M-yy" TextBoxWidth="75px" Enabled="true" />
    <uc:Calendar ID="Calendar1" runat="server" ChangeMonth="false" ChangeYear="false"
        DateFormat="dd-M-yy" TextBoxWidth="75px" Enabled="true" />
</asp:Content>

在用户控件上,我有一个javascript函数,它在img上被调用:

代码语言:javascript
复制
    function ClearFeild()
    {     
       debugger; 
       $("#<%=datepicker.ClientID %>").val() = "";
    }

但是…的价值

$("#<%=datepicker.ClientID %>");

总是:

$("#ContentPlaceHolderBody_Calendar1_datepicker");

这是第二个用户控件,即使我单击了第一个控件。

PLease协助我如何克服这一切。

CLearFeild函数在单击按钮时被调用,以清除datepicker。

致以亲切的问候。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-16 09:20:11

您需要将源对象传递给函数。

现场演示

代码语言:javascript
复制
onclick="ClearFeild(this)"

function ClearFeild(source) {        
    obj = $('#' + source.id)
    prevInput = obj.prev('input[type=text]')
}​
票数 1
EN

Stack Overflow用户

发布于 2012-11-16 09:24:35

原因是您的js调用将到达最近可用的javascript方法。

因为它在用户控件中,所以可能会呈现两次。所以,你要达到第二种方法,它更接近。

呈现的输出如下所示

代码语言:javascript
复制
function ClearField(){$("#ContentPlaceHolderBody_calSample_datepicker")}
function ClearField(){$("#ContentPlaceHolderBody_Calendar1_datepicker")}

并在这里您的输出。

尝试使用这个关键字传递图像引用,然后查找具有类的输入文本框

代码语言:javascript
复制
 <input type="text" class="datepicker-box" id="datepicker" runat="server" readonly="readonly" />
 <img src="../images/remove.png" id="test"
        onclick="ClearFeild(this)" runat="server" />


 function ClearFeild(img)
    {     

        var dateTextBox= $(img).closest('input.datepicker-box');
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13413606

复制
相关文章

相似问题

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