我有2个名单:
<ul id="listone">
<li><input type="checkbox"/>item 1</li>
<li><input type="checkbox"/>item 2</li>
<li><input type="checkbox"/>item 3</li>
</ul>
<ul id="listtwo">
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
</ul>
我想从列表一中取消选中一个项目,以便它在列表2中找到确切的值,并从列表2中删除该值。
我正在尝试为列表中的两个项目分配一个id,它等于项目1的索引号,当它取消选中时,删除列表2中的项目,其中id =我从列表1中取消选中的项目的索引。到目前为止,这是我的代码:
$("input.selectme").bind('change',function() {
var ix = $(this).index(".selectme");
//var panelix = $("#panel ol li span").html();
var checked = $(this).is(':checked');
var fileurl = $(this).next("label").attr("rel");
var filename = $(this).next("label").text().replace(" ","").trim();
var getlength = $(".fileslist li").length;
if(checked===true) {
$("#panel ol").prev("h5").html("Your list currently has:");
curl = localStorage.curl="<div class='delete'><\/div><li id="+ix+"><a href='"+fileurl+"'>"+filename+"<\/a><\/li>";
$("#panel ol").append(localStorage.curl); //creating a new item in the list
$("#panel .btn").css("display","block");
}
else{
//ix = $(this).index();
for(i=0;i<$("#panel ol li").length;i++){
if(ix === $(this).attr("id")){
alert("pl");
$(this).css("color","red");
}
$(this).attr("id",ix).css("border","solid 1px red");
}
我无法让它工作......任何帮助都会受到赞赏...提前感谢
答案 0 :(得分:1)
复选框:
<ul id="listone">
<li><input type="checkbox" class='chk' value="item1"/>item 1</li>
<li><input type="checkbox" class='chk' value="item2"/>item 2</li>
<li><input type="checkbox" class='chk' value="item3"/>item 3</li>
</ul>
<ul id="listtwo">
<li class="list_item1">item 1</li>
<li class="list_item2">item 2</li>
<li class="list_item3">item 3</li>
</ul>
<ul id="listThree">
<li class="list_item1">other item 1</li>
<li class="list_item2">other item 2</li>
<li class="list_item3">other item 3</li>
</ul>
$(".chk").click(function () {
var isChecked = $(this).is(':checked');
if (!isChecked) {
var itemId = $(this).val();
$(".list_" + itemId).hide();
}
});
答案 1 :(得分:0)
如果删除第二个列表中的li
元素,索引将不再匹配,而是建议:
$('#listone input[type="checkbox"]').change(function(){
var prop = text = this.nextSibling.nodeValue;
if (this.checked) {
$('#listtwo li').filter(function(){
return text === $.trim($(this).text());
}).remove();
}
});