我不确定这个问题与 ExtJS 有多大关系,以及与纯 JavaScript 有多大关系。无论如何,我有一个逗号分隔值的字符串。我需要使用,GUI
所以我尽量让它对用户友好。我做了大部分我想要的东西,但有一件事我还不能完成。我想用正确的图像替换字符串中的所有逗号,我认为这非常适合我正在做的事情,但现在 - 我尝试没有成功。
对于那些熟悉 ExtJS 的人 - 我正在为网格的某个列中的每个单元格执行此操作,并带有渲染功能。但我认为也许这个问题必须用纯 JavaScript 函数来解决。这是我现在所拥有的:
_cusomizeString: function(dates) {
if (dates != null)
{
var date = dates.replace(/,/g,"|");
var www = date.split('|');
var xxx = www.length;
for (var i = 2; i < xxx; i+=3)
{
www[i] = www[i] + '<br />';
}
var ggg = www.toString();
var hhh = ggg.replace(/,/g,'<img src =" ' + D:\dir1\dir2\dir3\dir4\dir5\img.png + ' "/>');
return hhh;
}
return dates;
}
我尝试了一些变化,现在我没有收到错误,但也没有看到图像。
谢谢
勒龙
附言
随着功能的这种变化:
var finalString = tempString.replace(/,/g,'<img src ="http://www.finishingtouch.co.uk/assets/images/common/calendar_icon.png"/>');
我能够想象这一点:
现在的主要问题是如何在第一个元素之前添加图像,因为现在它丢失了(尤其是当只有一个日期时)以及我现在如何使它与本地文件一起使用?我试过在我的replace
函数中使用它:
'<img src ="file:///D:\\symapac\\src\\public\\img\\icons\\draft.png"/>'
但是控制台日志返回这个,我没有看到任何图像:
07-06-2012<img src ="file:///D:\dir1\dir2\dir3\dir4\dir5\img.png"/>16-06-2012
好的,我几乎有最终的解决方案。这是它的样子:
这是我的最终功能:
_checkDates: function(dates) {
if (dates != null)
{
var date = dates.replace(/,/g,"|");
var arrayOfDates = date.split('|');
var stringLength = arrayOfDates.length;
for (var i = 2; i < stringLength; i+=3)
{
arrayOfDates[i] = arrayOfDates[i] + '<br />';
}
var tempString = arrayOfDates.toString();
var finalString = tempString.replace(/,/g," ,");
finalString = finalString.replace(/,/g,"<img src="+ "'" + pathToImage + "'" +"/>");
var imgSrc = "<img src="+ "'" + pathToImage + "'" +"/>";
var otuputString = imgSrc.concat(finalString);
return otuputString;
}
return dates;
}
有一个小问题,无论现在我在var finalString = tempString.replace(/,/g," ,");
图标之间的空间中放置了多少标签,总是一样的,不知道为什么。但这是我最接近我想要的。
干杯
勒龙