繁体   English   中英

通过参数将asp.net控件ID传递给jquery函数

[英]passing asp.net control id to jquery function by parameter

如何将asp.net控件ID动态传递给jquery函数参数? 这就是我试图做到的

SelectedDivAnimation('#'+<%=txtFirstName.ClientID%>);
SelectedDivAnimation('#'+<%=txtLastName.ClientID%>);

 function SelectedDivAnimation(aspControl) {
        $(controlid).on('focus', function () {
            $(this).css({'width':'100%','transition':'1s'});
        });
        $(controlid).on('focusout', function () {
            $(this).css({ 'width': '50%', 'transition': '1s' });
        });
    }

我什至尝试

SelectedDivAnimation('#<%=txtFirstName.ClientID%>');
SelectedDivAnimation('#<%=txtLastName.ClientID%>');

当我运行它时,它不能按预期工作,什么也没发生。

<%%>之间的所有内容都在服务器上发生,因此您所需要做的就是删除+然后将第二个引号移至%>之后的-

SelectedDivAnimation('#<%=txtFirstName.ClientID%>');
SelectedDivAnimation('#<%=txtLastName.ClientID%>');

假设它在ASP页面中。

因此,假设txtFirstName.ClientID设置为client_a则服务器在将其发送给客户端之前,将<%=txtFirstName.ClientID%>替换为client_a 因此客户实际上会看到这一点-

SelectedDivAnimation('#client_a');

如果您在客户端上看到正确的ID,那很好,但是您还有另一个问题-

function SelectedDivAnimation(aspControl) {
    $(controlid).on('focus', function () {
        $(this).css({'width':'100%','transition':'1s'});
    });
    $(controlid).on('focusout', function () {
        $(this).css({ 'width': '50%', 'transition': '1s' });
    });
}

您传递变量aspControl到您的功能,但是你使用的是被称为变量controlid ; 您可能希望将它们设置为相同,即-

function SelectedDivAnimation(aspControl) {
    $(aspControl).on('focus', function () {
        $(this).css({'width':'100%','transition':'1s'});
    });
    $(aspControl).on('focusout', function () {
        $(this).css({ 'width': '50%', 'transition': '1s' });
    });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM