Javascript 从等于其他列表项索引的列表中删除项

Javascript 从等于其他列表项索引的列表中删除项,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,我有两份清单: <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

我有两份清单:

<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>
  • 项目1
  • 项目2
  • 项目3
  • 项目1
  • 项目2
  • 项目3
我想取消选中列表一中的一个项目,以便它在列表二中找到确切的值,并从列表二中删除该值

我试图为列表中的两个项目分配一个id,该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("&nbsp;","").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");

                }
$(“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;
如果(选中===true){
$(“#panel ol”).prev(“h5”).html(“您的列表当前有:”);
curl=localStorage.curl=“
  • ”+filename+”; $(“#panel ol”).append(localStorage.curl);//在列表中创建新项 $(“#panel.btn”).css(“显示”、“块”); } 否则{ //ix=$(this.index(); 对于(i=0;i复选框,请尝试以下操作:

    <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
    • 项目2
    • 项目3
      第1项 第2项 第3项
      其他项目1 其他项目2 其他项目3
    $(“.chk”)。单击(函数(){ var isChecked=$(this).is(':checked'); 如果(!已检查){ var itemId=$(this.val(); $(“.list_”+itemId.hide(); } });
    如果删除第二个列表中的
    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();
        }
    });
    

    .

    数据绑定在这里会有很大帮助,如果选中了,那么取消选中是什么意思呢?
  • a
    li
    ?我使用了以下命令:'else{var len=$(“#sidelist li”).length();for(i=0;如果选中了,那么就从列表中删除该项。我刚刚使用了'var itemId=$(this).val()$(“#listwo”+itemId).hide();'从您的代码中此代码将针对未选中的项运行。检查>在if语句中!我想从列表2中删除项当我取消勾选列表一中的项时,您的代码对我来说运行良好,但它只删除索引为0的第一个项,但不适用于列表中的所有其他项