动态javascript元素更改文本

时间:2012-12-13 06:38:12

标签: javascript jquery asp.net

我想通过用户选择更改用户嵌入的链接文本。 该表单有2个文本框,一个用于输入onkeyup事件的用户输入 另一个是带有href html标签的只读文本框

当用户在第一个文本框内开始输入时,需要更改只读输入。

我尝试过diffrente方式,但它没有用

<asp:TextBox ID="txtAlinkTitle" runat="server" Text="Register Now" onkeyup="func(this,<%=txtALink.ClientID%>)" /><br />
    <asp:TextBox ID="txtALink" Text="<a href='http://google.com'>my text for link</a> " ReadOnly="true" runat="server" Width="100%" />

我该怎么做?

3 个答案:

答案 0 :(得分:0)

尝试此更新的:http://jsfiddle.net/cfzt9/1/

我的HTML:

<input type='text' id='txtAlinkTitle' value=''/>
<input type='text' style='width:320px' id='txtALink' readonly='true' value="<a href='google.com'>aaa</a>"/>

和我的jQuery:

$('#txtAlinkTitle').keyup(function(){
    var textVal = $(this).val();
    var aa = $('#txtALink').attr('value');
    var bb = aa.substr(0, aa.indexOf('>')+1);
    var cc = aa.substr(aa.indexOf('</a>'));
    $('#txtALink').attr({"value":bb+textVal+cc});
});

答案 1 :(得分:0)

这是在文本框文本中给出href的错误方法。 您可以在文本框更改时使用jquery放置锚标记并设置其href值。

<asp:TextBox ID="txtAlinkTitle" runat="server" Text="Register Now" onkeyup="changeHref(this)" /><br />
<a id='aTag' href='http://google.com'>my text for link</a> 


funcation changeHref(sender)
{
   $("#aTag").attr('href', sender.val());
}

您也可以使用javascript而不是jquery。

答案 2 :(得分:0)

如果你不想放置标签,那么在函数中传递url,

   <asp:TextBox ID="txtAlinkTitle" runat="server" Text="Register Now" onkeyup="changeHref(this,url)" /><br />
   <asp:TextBox ID="txtALink" Text="<a href='http://google.com'>my text for link</a> " ReadOnly="true" runat="server" Width="100%" />


funcation changeHref(sender,target,url)
{

   $('#<%=txtALink.ClientID%>').attr('href', '<a href=" + url + " >" + sender.val() + "</a>');
 }

或使用Javascript substring method to replace