我想通过用户选择更改用户嵌入的链接文本。 该表单有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%" />
我该怎么做?
答案 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>');
}