我遇到了一个问题。
我有这个:
<input type="hidden" name="Boss" id="Boss" value="8,116,167,198,139,203,158,170,">
实际上我在js中有以下代码:
// On click on element with class .Boss
$("form").on("click", ".Boss", function(event){
var clickedId = $(this).attr('value')+','; // give me 8,
var locationBtn = $('#Boss'); // Select the input
var locationBtnValue = $('#Boss').val(); // Take the select value
if(locationBtnValue.toString().indexOf(clickedId) == -1) { locationBtn.val(locationBtnValue + clickedId); }
else { locationBtn.val(locationBtnValue.replace(clickedId,'')); }
});
我的问题是:如果要决定删除8
我的JavaScript,请不要删除该项目,8,
但是它将在我的字符串中找到第一个匹配项,因此8,116,167,19 ** 8,** 139,203,158,170,。所以它破坏了我的其他项目...
我该怎么做才能不破坏它?
谢谢。
保持一致的一种方法是将其拆分为一个数组,然后删除出现的事件。
// On click on element with class .Boss
$("form").on("click", ".Boss", function(event) {
var clickedId = $(this).attr('value'); // give me 8
var locationBtn = $('#Boss'); // Select the input
var locationBtnValue = locationBtn.val(); // Take the select value
var ids = locationBtnValue.split(','); //split into an array
var index = ids.indexOf(clickedId); //index of clickedId inside ids
if(index > -1) { //found
ids = ids.splice(index, 1); //remove from ids
} else {
ids.push(clickedId); //add to ids
}
locationBtn.val(ids.join(','));
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句