替换AJAX响应的一部分

时间:2014-05-26 18:35:33

标签: javascript jquery ajax replace

我需要替换AJAX响应的一部分,我在此表单上有一个ajax响应,例如:

{"vals":["val1223","val1389","val1897","val1321"]}

我需要更换' val1 '例如,为每个值并以斜体形式呈现它们。

我试过这样但在我的显示屏上没有任何改变:

 var queryvar =$('#search').val();//value sent in AJAX query
display="";
display +="<ul>";

 //in response

 if(data.vals){
    $.each(data.vals, function(k,v){
       v = v.replace(queryvar, '<i>' +queryvar+ '</i>'); 
       display +='<li>' + v + '</li>';
    }); 
  }
display +="</ul>";
$('#results').html(display);

2 个答案:

答案 0 :(得分:1)

想要这个

 if(data.vals){
    var reg = new RegExp(queryvar,"i");
    $.each(data.vals, function(k,v){
       v = v.replace(reg, '<i>' +queryvar+ '</i>'); 
       display +='<li>' + v + '</li>';
    }); 
  }

http://jsfiddle.net/Ahc9U/

答案 1 :(得分:0)

如果您要替换val1,请检查replace(),此处不需要正则表达式。

v = v.replace(queryvar, '<i>' + queryvar + '</i>');

这是一个有效的demo,感谢@kmsdev