2012-10-12 28 views
4

我試圖做到這一點jQuery的改變輸入文本值不工作

$('input').val($('input').val()+"^2"); 

所以在頁面(我只有一個字段)將有兩個額外的字母^ 2

每個輸入字段奇怪的是它只追加2並忽略^符號。任何想法爲什麼這種奇怪的行爲發生?

編輯: 問題是代碼中還有另一部分插入後從輸入字段中刪除所有符號。所以我改變它忽略這個符號。多謝你們。

+0

的你可能有逃避''^。嘗試'^ 2'。 –

+1

注意,當你調用'$('input').val()'時,它將返回**第一個**輸入的值,所以你的代碼將**所有**輸入值設置爲**首先**輸入您的修改。 – Shmiddty

+0

我只有一個輸入,因爲這是我正在處理的自定義控件。 –

回答

2

嘗試

^ 

或逃避胡蘿蔔:

/^ 

它呈現爲^

+0

這隻會在文本框中輸入'^'。所以'abc ^ 2'而不是'abc^2'。 [小提琴](http://jsfiddle.net/gromer/bHxJ3/1/) – Gromer

+0

沒有工作,它會把^ –

+0

因此,爲什麼我逃脫它。 –

1

嘗試逃跑,使用一個反斜槓\

$('input').val($('input').val()+"\^2");​ 

或者使用Unicode相當於插入符

CHECK FIDDLE

+0

爲什麼^標誌需要轉義? –

+0

@WolfgangStengel ..我想我用錯誤的單詞來構造句子 –