2012-08-03 90 views
0

我想一個HTML鏈接添加到使用jQuery的下面的輸入框中輸入:這是工作,但它的字面顯示<a href...,這正是我想要的後端明智添加html鏈接到文本輸入框?

var E = "<a class='tagged_person' contenteditable='false' href='http://www.google.com'>Click This</a>"; 
$("input[name='newComment']").val(E); 

,但在前端,我希望用戶將其看作呈現爲HTML <a>鏈接。就像在Facebook/Twitter上一樣,您可以標記用戶,然後有鏈接。

+2

我不認爲你可以在輸入有一個可點擊的鏈接直接框。 – 2012-08-03 16:39:15

+2

將鏈接放在輸入框的一部分上方是否可以接受?這是可行的。直接在輸入中不是。 – Ryley 2012-08-03 16:43:00

回答

0

您可以使用下面的代碼,當選擇它時將會在新窗口中打開鏈接。

<form action="../"> 
<select name="myDestination"> 
    <option value="http://www.website1.com/">Website 1</option> 
    <option value="http://www.google.com/">GOOGLE</option> 
</select> 
<input type="button" 
    value="Open in New Window!" 
    onclick="ob=this.form.myDestination;window.open(ob.options[ob.selectedIndex].value)"> 
</form> 

或者無需按下一個按鈕:

<form action="../"> 
    <select onchange="window.open(this.options[this.selectedIndex].value,'_top')"> 
    <option value="">Choose a destination...</option> 
    <option value="http://www.website1.com/">Website 1</option> 
    <option value="http://www.google.com/">GOOGLE</option> 
    </select> 
</form> 

也創造了一個的jsfiddle證明:jsFiddle

+2

供參考:如果您想要格式良好的代碼,請在文本和代碼之間添加一行,然後將每行代碼縮進4個空格。使用反引號僅適用於「如果您希望在一行文本中間添加代碼」。 – 2012-08-03 16:47:19

+0

感謝ngmiceli的提示,我現在會重新編輯它。也提高了你的評論:)。 編輯:沒關係,尼古拉K擊敗了我。 – 2012-08-03 16:49:06

3

我想你正在尋找JQuery方法.append。這可以讓你傳遞一串HTML並將其解析到DOM中。 Check it out here

例如:

$('#myDiv').append('<a href="www.google.com">Search for it!</a>'); 

還有.appendTo()它是否適合你的審美更好。

編輯:如果您嘗試將html作爲文本輸入的字面值,則不能這樣做。 <input type="text">帶有文本,就是這樣。你必須製作自己的輸入表單,或者使用JQuery插件。爲什麼你想在表單輸入中有一個鏈接呢?當然,通過不同的事件處理程序單擊表單時,您可以讓用戶重定向,但輸入爲輸入。如果它重定向,那麼你並不是真的想要一個輸入。