2016-10-20 19 views
0

2番目のifループのコードが機能していない理由はわかりません。 "[" charのテキスト領域の文字列をチェックして置き換える必要があります。JQueryはテキストエリアのテキストを置き換えません

$(function() { 
    $('#form').on('submit',function(){ 
    if ($('#pzad').is(':checked')){ 
    var text = $('#mytextarea').val(); 
    if (text.indexOf('[')>-1 || text.indexOf(']')>-1){ 
     $('#mytextarea').val().replace('[',''); 
     $('#mytextarea').val().replace('[',''); 
    } 
    $('#mytextarea').val('['+$('#mytextarea').val()+']'); 
    }}); 
}); 
+0

使用することができます。 replaceは元の文字列を変更するのではなく、変更された値を返すので、その戻り値で何かをする必要があります。 – CBroe

答えて

2

.replace()として戻って新しい文字列が、あなたはtextareaテキストを更新する必要があります。

var newstr = $('#mytextarea').val().replace('[',''); 
$('#mytextarea').val(newstr); 

あなただけ違っあなたが思うよりも、それが機能している.val(fn)

$('#mytextarea').val(function(_,currentValue){ 
    return currentValue.replace('[',''); 
}); 
関連する問題