2015-02-06 49 views
3

我在這裏遇到了一個小問題。JavaScript正在使用句子中的第一個單詞

我想使用JavaScript設置輸入的值,但jQuery沒有顯示完整的句子。

var name = "Richard Keep"; 

但是當我使用嘗試這樣做

$('input#nameid').val(name) 

該輸入

<input type="text" id="nameid"> 

的值設置爲理查德,而不是單獨理查德的保持。 如何讓jQuery回顯整個字符串而不僅僅是字符串中的第一個單詞?由於

編輯:

<td id="To_be_collected_port" onclick="requestPopup()" class="tr-selected"> 
    <div class="pop-td To_be_collected_port"> 
    </div> 
    this is the content am fetching 
</td> 

這將只顯示這個

var str = $('#To_be_collected_port').text(); 

然後

$('.xyz').html("<input type=\"text\" name=\"text\" id=\"selected-service-text\" value="+str+">"); 
+4

那行爲是非常奇怪的 - 我無法複製它:http://jsfiddle.net/jq8x09f7/你可以發佈一個顯示問題的工作示例。 'input'是否有'maxlength'屬性?顯示完整的代碼可能有助於縮小問題的範圍。 – 2015-02-06 10:56:11

+0

這真的很奇怪。你確定你的代碼很好嗎?你能重現這個問題@ jsfiddle.net? – 2015-02-06 10:56:26

+2

你能複製這個問題嗎?這是不可能的,所以可能「名稱」實際上是「理查」或其他干擾。 – dfsq 2015-02-06 10:56:32

回答

7

你錯過逃脫圍繞value屬性雙引號:

value="+str+" 

應該是:

value=\""+str+"\" 

Fiddle - works now

解釋爲什麼它顯示 「此」

這意味着你的輸入標籤被有效地撰寫這樣:

<input type="text" ... value=this is the content am fetching> 
  • value = 「此」
  • isthecontentamfetching =屬性沒有任何價值
+3

這已經完成了魔術。謝謝。 (Psst,我知道我們不應該感謝某人,但你不知道我經歷了什麼) – Richie 2015-02-06 11:23:36

+1

沒問題,我們都在那裏!我不介意在這裏看到感謝的非數字表達。畢竟開發人員仍然是人... – 2015-02-06 11:29:59

+1

儘管在HTML中引用屬性是可選的,但這樣的事情是我堅持所有屬性在我工作的任何項目中被正確引用的原因。 – scunliffe 2015-02-06 11:53:35

2

這是奇怪的行爲。這裏有幾件事你可以嘗試

1)添加一個控制檯日誌之前,把值放在字段中。如果它沒有正確顯示整個名稱,那麼你可能有一些代碼操縱變量。

console.log(name); 
$('input#nameid').val(name); 

2)愚蠢的建議,但你的輸入字段視覺上不小?也許它添加了整個名字,但你只是沒有看到它。

3)在字段上使用onchange事件來檢查更新輸入字段後是否發生了變化。

+0

console.log(name)顯示全名,但問題出現在輸入框中。輸入maxlength沒有設置任何東西。 – Richie 2015-02-06 11:11:56

+0

如果沒有設置,在輸入中添加2個名稱應該沒有問題。提供更多的代碼或jsfiddle來模擬你的問題。用你提供的,我們只能猜測問題。 – Christophe 2015-02-06 11:35:56

相關問題