Javascript 从段落Jquery中删除特定文本
下面的代码中有复选框,每次选中复选框时,都会添加该复选框值(有效)。但如果未选中,则应删除该复选框值。但它只是将价值增加了两倍。如何添加和删除未选中的值 这是代码示例Javascript 从段落Jquery中删除特定文本,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,下面的代码中有复选框,每次选中复选框时,都会添加该复选框值(有效)。但如果未选中,则应删除该复选框值。但它只是将价值增加了两倍。如何添加和删除未选中的值 这是代码示例 //Looks for every checkbox $('#index '+ selected +' #cbFieldSet .icheck').each( function(i, name){ console.log("#"+ $(name).attr("id"));
//Looks for every checkbox
$('#index '+ selected +' #cbFieldSet .icheck').each( function(i, name){
console.log("#"+ $(name).attr("id"));
if($('input[name='+$(name).attr('name')+']').attr('checked', false)){
//checks what checkbox has been check. Gets that checkbox id
$('#index '+ selected +' #cbFieldSet #'+ $(name).attr("id")).click( function(){
// $("#cb-"+playerStart).click(function(){
//console.log(i);
console.log('yes');
//add to popup box paragragh
$('#popupDialog #info').append($(name).val());
});
}else if($('input[name='+$(name).attr('name')+']').attr('checked', true)){
//checks what checkbox has been check. Gets that checkbox id
$('#index '+ selected +' #cbFieldSet #'+ $(name).attr("id")).change( function(){
// $("#cb-"+playerStart).click(function(){
//console.log(i);
console.log('yes');
//add to popup box paragragh
$('#popupDialog #info').remove( ":contains("+ $(name).val() +")" );
});
}
});
根据使用的jquery版本,您可能需要.prop()而不是.attr()。 只有1.6之前的版本具有属性(“选中”,真/假),即布尔值。
.prop(“checked”)应该会起作用此代码不容易阅读,部分原因是您在“checked”和“unchecked”情况下都复制粘贴了相同的注释。您还遗漏了一些上下文--缩进已关闭,我不知道所选的是什么 无论如何——除了上面user3785863所说的之外,当您想要读取现有值时,您正在使用的.attr()形式将设置属性值 换句话说,
$('input(…)').attr('checked',false)
不测试复选框是否已选中;它将其值设置为booleanfalse
,然后返回复选框本身,这意味着第一个if
语句将始终运行,第二个语句永远不会运行
所以,我认为您实际的意思是if($(…).attr(“checked”)==“false”)
(我认为你也有正确和错误的方法,加上一些其他问题,但这可能会让你不顺利…这不是相关jQuery的全部内容,是吗?因为您似乎忽略了定义
name
的位置。如果这是一个函数的摘录,发布足够的信息,使其有意义;思考或思考。