Javascript 从特定li获取复选框值

Javascript 从特定li获取复选框值,javascript,jquery,Javascript,Jquery,我有下面的html结构。我可以选择,但无法获取复选框值-它是未定义的 <ul> <li class="selected" style="false"> <label class=""> <input type="checkbox" data-name="selectItem" value="2447"> <span>England</span>

我有下面的html结构。我可以选择
  • ,但无法获取复选框值-它是
    未定义的

    <ul>
        <li class="selected" style="false">
            <label class="">
                <input type="checkbox" data-name="selectItem" value="2447"> 
                <span>England</span>
            </label>
        </li>
    </ul>
    
    在each$(this)中是li元素,请尝试以下操作:

     $('ul li.selected').each(function () {
                console.log("li.selected");
                var val = $(this).find(":checkbox").val();
                console.log(val);                                        
            });
    

    尝试如下更改代码:

    $('li.selected')。每个(函数(){
    console.log(“li.selected”);
    var val=$(this.find(“label”).find('input[type=checkbox]).val();
    控制台日志(val);
    });
    
    
    
  • 英格兰
  • closest()
    向上移动DOM,如果要向下移动,则应使用
    find()
    。还请注意,只需调用
    find()
    ,就可以实现所需的功能。试试这个:

    $('ul li.selected').each(function () {
        var val = $(this).find('label :checkbox').val();
        console.log(val);                                        
    });
    

    只需搜索复选框:
    val=$(this.find('input[type=checkbox]).val()

    $('ul li.selected')。每个(函数(){
    console.log(“li.selected”);
    var val=$(this.find('input[type=checkbox]')).val();
    控制台日志(val);
    });
    
    
    
    • 英格兰
    您可以直接在
    $(this)
    中:

    $('ul li.selected')。每个(函数(){
    console.log('li.selected');
    var val=$(this.find(':checkbox').val();
    控制台日志(val);
    });
    
    
    
    • 英格兰