如何让javascript在asp.net控件上运行?

时间:2013-02-22 11:38:00

标签: c# javascript jquery asp.net

<script type="text/javascript">
    $(document).ready(function () {
        $('input[name="time"]').ptTimeSelect();
    });
</script>

上面的脚本正在解决这个问题:

<input name="time" value="" /></td>

但不是在努力......

<asp:TextBox ID="time" name='time' runat="server"></asp:TextBox>

3 个答案:

答案 0 :(得分:0)

从我记得的ASP.NET中,它修改了元素的ID和名称,以确保它始终是唯一的。 <asp:TextBox>的最终结果可能是:

<input name="ctr_0102_time" />

最好的办法是检查实时页面上元素的来源,以确定它具有哪些属性。如果它确实有一个随机标识符,那么你应该把它放在一个特定的类上:

<input class="time" />
<asp:TextBox CssClass="time"></asp:TextBox>

$('input.time') ...

可能导致其破坏的另一件事是邮寄。 ASP.NET中的回发不会重新准备文档,只需重新加载页面即可。而不是使用$(document).ready()使用:

function pageLoad() { ... }

答案 1 :(得分:0)

请使用以下代码

<script type="text/javascript">
$(document).ready(function () {
var id='<%=time.clientid%>'
    $('#'+id).ptTimeSelect();
});
 </script>

如果这不起作用,请告诉我。

答案 2 :(得分:0)

试试这个:

<script type="text/javascript">
    $(document).ready(function () {
        $('[id$=time]').ptTimeSelect();
    });
</script>