2011-09-26 53 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