2011-09-26 68 views
0

HTML:「」?修改`input`值

<div class="mydiv"> 
    My Div 
    <ul> 
     <li><input type="submit" value="first"/></li> 
     <li><input type="submit" value="second (blah blah)"/></li> 
     <li><input type="submit" value="third . blah blah"/></li> 
    </ul> 
</div> 

我如何可以檢索input的值,並用‘\ n’取代任何「(」或結果會出現像:

second 
(blah blah) 
+0

你想什麼時候做那個替換?提交?當頁面加載?此外,你是否替換(用\ n(如你的文字說的)或用(\ n(如你的例子) – Lepidosteus

+0

'input'文本框可能只有一行,AFAIK –

+0

請停止寫「謝謝你提前! !上帝保佑!!「在你所有的問題上。有一個理由,我們繼續刪除它。 –

回答

1

寫到這假設你想保持分離器爲您爲例暗示,you can see it working here

$(document).ready(function(){ 
    $('.mydiv input[type=submit]').each(function() { 
    $this = $(this); 
    $this.val($this.val().replace(/(\.|\()/, '\n$1')); 
    }); 
}); 

編輯:@vzwick:關於你的編輯沒有,it shouldn't be a one-liner,我緩存$故意的。

+0

非常好!非常感謝你!! – jovhenni19

0

這應該做的伎倆:

$(document).ready(function(){ 
    $('.mydiv input').each(function(i,e){ 
     $(e).val($(e).val().replace('(', '\n').replace('.', '\n')) 
    }); 
}); 

而且,要記住,這可能/可能會有問題,在一些瀏覽器渲染s(即WebKit不會調整輸入大小)。

http://jsfiddle.net/YTD9p/

+0

關於你對我的答案的編輯,我恢復了它,並添加一個鏈接到一個答案,解釋爲什麼在同一層面上,你的替換電話應該合併爲一個 – Lepidosteus

+0

謝謝你,我今天學到了一些東西!而且,你的方法絕對是一種方式。乾杯! – vzwick