从Jquery中的字符串中删除子字符串

时间:2014-03-11 18:38:59

标签: javascript jquery asp.net

我正在复选框列表的click事件上编写一个jQuery函数,该函数在检查一个项目时将值存储在字符串中,并在取消选中时删除该字符串。我正在接受封闭的标签文本并插入并从字符串中删除它。我可以添加字符串,但我无法将其删除。

这是我的代码:

var currentage = '';

$('#<%=chk_ange.ClientID%> input:checkbox').click(function () {
    var str = $(this).next('label').text();
    if ($(this).is(':checked')) {
        if (currentage.indexOf($(this).next('label').text()) == -1) {
            currentage = currentage + str;
        }
        alert('checked' + currentage);
    }
    else {
        currentage.replace(str, "Hello");
        //currentage.replace(str, 'None');
        alert('unchecked' + currentage);
    } 
}

我将值存储在全局变量中,以便我可以比较每次点击的值。

2 个答案:

答案 0 :(得分:3)

您必须将replace的结果分配回您的变量,如:

currentage = currentage.replace(str, "Hello");

请参阅:String.prototype.replace() - MDN

答案 1 :(得分:0)

您需要将结果从currentage.replace(str, "Hello");等同于currentage。字符串是不可变的,因此replace()函数返回一个新的修改后的字符串。

currentage = currentage.replace(str, "Hello");