2

文字列の一部を置き換えるために、次のことを行っています。文字列の 3 つのオカレンスすべてを置き換えたいのですが、機能していません。

 var  hdnval = document.getElementById("hdnColgval").value = response;
$("#ddcolgs").val($("#ddcolgs").val().replace(/'+hdnval+'/g, response));
4

5 に答える 5

1

regexエラーの原因となる文字列を に追加しようとしています。単純に文字列を置き換える場合は、次を試してください。

var hdnval = document.getElementById("hdnColgval").value = response;
$("#ddcolgs").val($("#ddcolgs").val().replace(hdnval, response));

の値が#hdnColgval正規表現であると想定される場合は、次を使用します。

var hdnval = document.getElementById("hdnColgval").value = response;
var regex = new Regex(hdnval, 'g');
$("#ddcolgs").val($("#ddcolgs").val().replace(regex, response));
于 2012-12-11T08:53:02.877 に答える
0

その方法で変数から正規表現を作成することはできません..試してください:

.replace(new RegExp(hdnval, 'g'), response);
于 2012-12-11T08:52:55.830 に答える
0

正規表現で変数を使用するには、新しい Regexp メソッドを使用します。

var  hdnval = document.getElementById("hdnColgval").value,
         re = new RegExp(hdnval, "g");

$("#ddcolgs").val(function(i,v) {
   return v.replace(re, response);
});
于 2012-12-11T08:53:43.483 に答える
0

Your implementation is almost correct, jssut remove the quotes. You don't need them

var  hdnval = document.getElementById("hdnColgval").value = response;
$("#ddcolgs").val($("#ddcolgs").val().replace(/hdnval/g, response));
于 2012-12-11T08:55:15.510 に答える
0
$("#ddcolgs").val(function(i, val) {
    return val.replace(RegExp(hdnval,'g'), response);
}
于 2012-12-11T08:57:18.953 に答える