0

次の文字列があります。

aaaaaaaa1
bbbbbbbb2
cccccccc3
dddddddd4

そして、これは私の分野です:

<textarea id="myLinesField"></textarea>

jQueryを使用して、任意の行を(任意の順序で)選択して削除できると言ったので、次のような正確な結果を得るために、行から特定の行を削除しようとしています。

aaaaaaaa1
cccccccc3
dddddddd4

これは私のコードです:

var value = $('#myLinesField').val();
var newVal = recipientValue.replace(stringLineToBeRemoved,'');
var finalResults = newVal.replace("\n", "");
$('#myLinesField').val(finalResults);

しかし、私はいくつかの場合(常にではない)このようなものを手に入れます:

aaaaaaaa1cccccccc3

dddddddd4

誰かが私がここで何が欠けているのか教えてもらえますか?

ありがとう、

4

5 に答える 5

2

これを試してみてください:

http://jsfiddle.net/adiioo7/SpnrN/

JS:

jQuery(function ($) {
    $("#btnSubmit").on("click", function () {
        var value = $('#myLinesField').val();
        var newVal = value.replace($("#strToRemove").val(), '');
        var finalResults = newVal.replace("\n", "");
        $('#myLinesField').val(finalResults);
    });
});

HTML:

<textarea id="myLinesField" style="height:100px;width:100px;">aaaaaaaa1 bbbbbbbb2 cccccccc3 dddddddd4</textarea>
<br/>
<br/>Please enter the string to remove :
<input type="text" id="strToRemove"></input>
<input type="button" id="btnSubmit" value="submit"></input>
于 2013-03-27T04:33:27.330 に答える
1

変化する

var finalResults = newVal.replace("\n", "");

var finalResults = newVal.replace("\n", "\r");

Acarriage returnは、前の行に接続されている行が次の(独自の)行から始まることを確認します

于 2013-03-27T04:26:27.253 に答える
0

これを試して:

    var stringLineToBeRemoved = "bbbbbbbb2";
    var foundin = $('textarea:contains("'+stringLineToBeRemoved+'")');
    if(foundin)
    {
        var value = $('#myLinesField').val();
        var newVal = value.replace(stringLineToBeRemoved,'');
        var finalResults = newVal.replace("\n", "");
        $('#myLinesField').val(finalResults);
    }
于 2013-03-27T04:36:50.713 に答える
0

この方法を試すことができます(実際の例についてはフィドルを参照してください:http://jsfiddle.net/amyamy86/29evM/):

var removeStr = function (str, index) {
    var parts = str.replace(/$(\s)*/gm, "\n").split("\n");
    parts.splice(index, 1);
    return parts.join("\n");
};

textareaが次の場合:

<textarea id="myLinesField">aaaaaaaa1
bbbbbbbb2

cccccccc3
dddddddd4</textarea>

それで:

var recipientValue = $('#myLinesField').val();
var finalResults = removeStr(recipientValue, 1);  // removes the 2nd line (non-empty line)

降伏します:

aaaaaaaa1
cccccccc3
dddddddd4
于 2013-03-27T04:43:15.713 に答える
0

正規表現を使用してみてください

var stringLineToBeRemoved = 'cccccccc3';

var value = $('#myLinesField').val();
var regex =  new RegExp(stringLineToBeRemoved + '(\r\n|\n|\r)', 'm');
$('#myLinesField').val(value.replace(regex,''));

デモ:フィドル

于 2013-03-27T04:46:15.923 に答える