ExtJS / JavaScript - 使用replace()函数时显示图像

时间:2012-06-12 13:15:15

标签: javascript extjs4

我不确定这个问题到底有多少与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;
    }

我尝试了一些变化,现在我没有收到错误但也看不到图像。

由于

Leron

P.S

功能发生了这种变化:

var finalString = tempString.replace(/,/g,'<img src ="http://www.finishingtouch.co.uk/assets/images/common/calendar_icon.png"/>');

我能够想象出这个:

How my images look

现在的主要问题是如何在第一个元素之前添加图像,因为现在它已经丢失了(特别是当只有一个日期时可以注意到)以及如何使它与本地文件一起使用现在?我已尝试在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

好的,我几乎有最终的解决方案。这是它的样子:

After the final adjustments

这是我的最终功能:

_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," ,");的许多标签,图标之间的空间总是一样的,不知道为什么。但那是我最接近我想要的东西。

干杯

Leron

2 个答案:

答案 0 :(得分:1)

'<img src ="file:///D:/dir1/dir2/dir3/dir4/dir5/img.png"/>'

答案 1 :(得分:0)

你的文件名前面有一个空格,你的文件名也没有引号。