-1

我不习惯使用 jquery,所以任何帮助将不胜感激。我已经编写了此功能,但无法使其正常工作,谁能告诉我出了什么问题。

$(function() {
   $('#replace_button').onclick(function() {
     $('#box_txt').val().replace(/\t/g, '[TAB]');
     $('#box_txt').val().replace(/\n/g, '[BREAK]');
   });
});

伴随它的html是

<textarea name='box_txt' id='box_txt' rows='6' cols='50'></textarea>
  <br>
  <input type='button' id='replace_button' value='Replace'>

我只想在按下按钮时用 [TAB] 替换所有选项卡,用 [BREAK] 替换所有换行符。

非常感谢。

4

2 回答 2

4

val返回一个字符串,而不是一种指向该值的指针。并且replace不会更改您传递的字符串(字符串在 JavaScript 中是不可变的),而是返回一个新字符串。

您可以使用

var field = $('#box_txt'), s = field.val();
s = s.replace(/\t/g, '[TAB]').replace(/\n/g, '[BREAK]');
field.val(s);

示范

于 2013-05-14T14:06:21.487 回答
0

像这样:

$(function() {
       $('#replace_button').onclick(function() {
         $('#box_txt').val($('#box_txt').val().replace(/\t/g, '[TAB]'));
         $('#box_txt').val($('#box_txt').val().replace(/\n/g, '[BREAK]'));
       });
    });

你得到了操纵它的价值,但从不把它放回文本区域:-)

于 2013-05-14T14:16:22.093 回答