如何动态地将卢比符号添加到表格td

时间:2015-11-27 14:51:53

标签: jquery

我收到了来自后端的以下回复

var jsondata = [{
    "vendor_name": "Apple",
    "discount": "2 Rs"
}, {
    "vendor_name": "Banana",
    "discount": "10 % "
}];

折扣可以是Rs或百分比。

我的要求是,如果折扣是Rs,那么我需要添加卢比符号而不是文本(Rs)

以下是卢比符号

<span class='WebRupee'>&#x20B9;</span>

这是我的程序,我无法显示卢比符号

var jsondata = [{
    "vendor_name": "Apple",
    "discount": "2 Rs"
}, {
    "vendor_name": "Banana",
    "discount": "10 % "
}];

var orderdetailshtml = '';
for(var i = 0; i < jsondata.length; i++) {
    var name = jsondata[i].vendor_name;
    var discount = jsondata[i].discount;
    var appendtovalue = '';

    if(discount.indexOf("%") > -1) {
        appendtovalue = ""
    } else if(discount.indexOf("Rs") > -1) {
        appendtovalue = ""
    }

    orderdetailshtml += '<tr>\
        <td>' + i + '</td>\
        <td>' + name + '</td>\
        <td>' + discount + ' ' + appendtovalue + '</td>\
        </tr>';
}
$("#orderstable tbody").html(orderdetailshtml);

你能告诉我如何实现这个目标吗?

http://jsfiddle.net/rav3333m/3/

2 个答案:

答案 0 :(得分:1)

如果indexOf("Rs")大于-1,最好的方法是在折扣上进行字符串替换。

discount = discount.replace('Rs', '<span class="WebRupee">&#x20B9;</span>');

这是更新的javascript

var jsondata = [{
    "vendor_name": "Apple",
    "discount": "2 Rs"
}, {
    "vendor_name": "Banana",
    "discount": "10 % "
}];

var orderdetailshtml = '';
for(var i = 0; i < jsondata.length; i++) {
    var name = jsondata[i].vendor_name;
    var discount = jsondata[i].discount;
    var appendtovalue = '';

    if(discount.indexOf("%") > -1) {
        appendtovalue = ""
    } else if(discount.indexOf("Rs") > -1) {
        discount = discount.replace('Rs', '<span class="WebRupee">&#x20B9;</span>');
        appendtovalue = ""
    }

    orderdetailshtml += '<tr>\
        <td>' + i + '</td>\
        <td>' + name + '</td>\
        <td>' + discount + ' ' + appendtovalue + '</td>\
        </tr>';
}
$("#orderstable tbody").html(orderdetailshtml);

这是我创建的fiddle

答案 1 :(得分:1)

由于您的字符串以任何方式构成HTML字符串的一部分,最简单的方法是替换&#34; Rs&#34;代码:

if(discount.indexOf("Rs") > -1) {
        appendtovalue = "";      
        discount = discount.replace('Rs', '<span class="WebRupee">&#x20B9;</span>');
}

jsFiddle:http://jsfiddle.net/sysnull/b6ujjnc6/1/