文字列の一部を置き換えるために、次のことを行っています。文字列の 3 つのオカレンスすべてを置き換えたいのですが、機能していません。
var hdnval = document.getElementById("hdnColgval").value = response;
$("#ddcolgs").val($("#ddcolgs").val().replace(/'+hdnval+'/g, response));
文字列の一部を置き換えるために、次のことを行っています。文字列の 3 つのオカレンスすべてを置き換えたいのですが、機能していません。
var hdnval = document.getElementById("hdnColgval").value = response;
$("#ddcolgs").val($("#ddcolgs").val().replace(/'+hdnval+'/g, response));
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));
その方法で変数から正規表現を作成することはできません..試してください:
.replace(new RegExp(hdnval, 'g'), response);
正規表現で変数を使用するには、新しい Regexp メソッドを使用します。
var hdnval = document.getElementById("hdnColgval").value,
re = new RegExp(hdnval, "g");
$("#ddcolgs").val(function(i,v) {
return v.replace(re, response);
});
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));
$("#ddcolgs").val(function(i, val) {
return val.replace(RegExp(hdnval,'g'), response);
}