Jquery 拆分字符串并将其用于选中复选框

Jquery 拆分字符串并将其用于选中复选框,jquery,Jquery,更新:这是工作代码,感谢King King的输入,非常感谢 这个问题问起来可能不好,但我很难做到。我有一个字符串,如下所示: dataType=type:Cricket+type:Football+type:Hockey 现在我要做的是提取蟋蟀、足球和曲棍球,然后运行for循环以选择页面上相应的复选框。我已经完成了问题的第二部分,即选中复选框,但现在我需要动态地执行,在中,我必须首先提取上述值。我尝试了以下代码,但没有成功 我这儿有把小提琴 var str=dataType=type:Cric

更新:这是工作代码,感谢King King的输入,非常感谢

这个问题问起来可能不好,但我很难做到。我有一个字符串,如下所示:

dataType=type:Cricket+type:Football+type:Hockey
现在我要做的是提取蟋蟀、足球和曲棍球,然后运行for循环以选择页面上相应的复选框。我已经完成了问题的第二部分,即选中复选框,但现在我需要动态地执行,在中,我必须首先提取上述值。我尝试了以下代码,但没有成功

我这儿有把小提琴

var str=dataType=type:Cricket+type:Football+type:Hockey; var valNew=str.split'type:'; 对于var i=0;i
var valNew = str1.split('type:');

//we know that the 'type' can never be before type: so we start at 1
for (var i = 1; i < valNew.length; i++) {
    //if there is a plus, then we remove it, otherwise it'll just skip the replace
    alert(valNew[i].replace('+', ''));
}
试试这个

var str = "dataType=type:Cricket+type:Football+type:Hockey";

var valNew = str.split(/[=+]type:/);


for (var i = 1; i < valNew.length; i++) {

    $('#' + valNew[i]).attr("checked", true)
}

这是你的固定小提琴:

以及"守则":

var valNew = str1.replace(/^dataType=type:/, '').split('+type:');
for (var i = 0; i < valNew.length; i++) {
    $('#' + valNew[i]).prop("checked", true);
}
我修正了两件事:

首先:我们像这样解析字符串:

1.从开头删除“dataType=type:”。现在我们刚刚: 2.在“+类型:”上拆分


第二:我将“here”改为+valNew[I],这样它可以正确地定位复选框。

我喜欢正则表达式来帮助:D

   var pattern = '/(?<=:)[\w]+/ig';
这将匹配“:”之后的所有单词

数据类型=类型:板球+类型:足球+类型:曲棍球;然后从值1循环,而不是从0循环。
   var pattern = '/(?<=:)[\w]+/ig';