1

我不确定这个问题与 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," ,");图标之间的空间中放置了多少标签,总是一样的,不知道为什么。但这是我最接近我想要的。

干杯

勒龙

4

2 回答 2

1
'<img src ="file:///D:/dir1/dir2/dir3/dir4/dir5/img.png"/>'
于 2012-06-12T13:20:03.370 回答
0

你的文件名前有一个空格,你的文件名也不在引号中。

于 2012-06-12T13:19:17.403 回答