$('.mask').on("click", '.skill-data-box_val p', function () {
var res = $('.skillValue').text();
var res1 = $(this).text()+",";
if(res.indexOf(res1)>-1){
$.alert("已选择");
}else {
res +=res1;
var newStr = res.substring(0,res.length-1);
console.log(newStr);
$('.skillValue').text(res);
}
});
如果else中$('.skillValue').text(res)
前端显示末尾逗号还在(这是肯定的)
console.log(newStr)末尾逗号已经去掉
但是如果else中$('.skillValue').text(newStr)
前端显示就是这样
打印也是这样
有点不大明白求大神赐教,小弟定虚心接受;
phpcn_u15822017-06-14 10:54:00
function write(selector, res){
let temp = res.slice(0, -1);
selector.text(temp);
}
也就是这样:
代码修改成:
$('.mask').on("click", '.skill-data-box_val p', function () {
var res = $('.skillValue').text();
var res1 = $(this).text()+",";
if(res.indexOf(res1)>-1){
$.alert("已选择");
}else {
res +=res1;
//res=res.substring(0,res.length-1);
// 这里!!
write($('.skillValue'), res);
}
});
女神的闺蜜爱上我2017-06-14 10:54:00
这样行不行:
var res = $('.skillValue').text(),
dot = res == "" ? : ",",
res1 = dot + $(this).text();
主要就是判断.skillValue
里是否为空:为空的话说明加进去的结果是第一个,不需要逗号;不为空的话说明里边已经有选中的值了,这时在前头加逗号就行了。