2011-08-31 68 views
1

好吧,这是一个让我把我的头撞在墙上几个小时。这似乎很简单,我正在使用Masterpage,Telerik控件和telerik RadScriptblock和Jquery。我试图从客户端代码更改网格编辑窗体中的asp.net文本框的文本,但它不会工作!我尝试了以下,但没有运气。jquery masterpage不能更改文本框的文本从客户端

Text box: 

<asp:TextBox ID="txtNewProduct" runat="server"/> 

// JQuery inside RadScriptBlock 
//Have tried all these but dont work 

// $('#txtNewProduct').text('New Product'); 
// $('#txtNewProduct').attr('text', 'New Product'); 
// $('#txtNewProduct').val('New Product'); 

//This one gets me the object but it CANT seem to set the text have been trying 
//for hours 

//var txtnew = $('[id$=txtProduct]'); 
//txtnew.text = "New Product"; //This shows the value "New Product" in clienst side 
//but does not change the textbox's text 

如果有人能指出如何做到这一点简单的任务,你可能会救我和其他一些可怜的灵魂一些治疗:)预先感谢您。

+0

有如何的客户端ID是在HTTP在ASP.net产生一个很好的解释:/ /weblogs.asp.net/asptest/archive/2009/01/06/asp-net-4-0-clientid-overview.aspx –

回答

1

如果您使用的是母版页,则最有可能更改该标识,请检查生成的源代码。

+0

哇谢谢保罗我觉得我需要一些睡眠,我知道ID一直在变,但是你让我想我通过使用$('[id $ = txtProduct]')得到了ID,这是一些东西像ctl00_ctl00_MainContent_PageContent_ProductGrid_ctl00_ctl02_ctl03_txtNewProduct那样可敬,我可以通过设置$('[id $ = txtNewProduct]来设置文本框的文本]')。val('New Product'); – Shokwave

+1

如果您使用.NET 4.0 Framework,则可以通过设置['ClientIDMode'](http://msdn.microsoft.com/zh-cn/library/system.web.ui)来告诉它不生成ID。 control.clientidmode.aspx)转换为控件,页面或应用程序级别的'Static' – MikeM

0

正如Paul Creasey所说,检查生成的源代码,然后确保您的jQuery库文件已成功加载......如果加载了,然后使用Firebug(在Firefox中)来测试jQuery。 $('#txtNewProduct').val('New Product')应该工作。

0

哇,这是令人沮丧的,我希望它可以帮助别人了,以及我能够改变使用文本框的文本

$('[id$=txtNewProduct]').val('New Product');