Jquery 如果选中了相应的复选框,如何获取选择值? 产品1 项目1 第一类 第2类 第3类 项目2 第一类 第2类 第3类 产品2 项目1 第一类 第2类 第3类 项目2 第一类 第2类 第3类

Jquery 如果选中了相应的复选框,如何获取选择值? 产品1 项目1 第一类 第2类 第3类 项目2 第一类 第2类 第3类 产品2 项目1 第一类 第2类 第3类 项目2 第一类 第2类 第3类,jquery,Jquery,该表是从jquery动态生成的。现在我所做的是,当我点击其中一个save按钮时,我从相关数据库中获取了checked show time的值。但是如果选中了相应的复选框,我还想获取类别的值 这是我到目前为止的代码: <tr> <td>Product 1</td> <td class="data"> <ul> <li><input type="checkbox" n

该表是从jquery动态生成的。现在我所做的是,当我点击其中一个save按钮时,我从相关数据库中获取了checked show time的值。但是如果选中了相应的复选框,我还想获取类别的值

这是我到目前为止的代码:

<tr>
    <td>Product 1</td>
    <td class="data">
        <ul>
            <li><input type="checkbox" name="items[]" value="item1">Item 1</li>
            <li>
                <select name="categories[]">
                    <option value="cat1">Category 1</option>
                    <option value="cat2">Category 2</option>
                    <option value="cat3">Category 3</option>
                </select>
            </li>
        </ul>

        <ul>
            <li><input type="checkbox" name="items[]" value="item2">Item 2</li>
            <li>
                <select name="categories[]">
                    <option value="cat1">Category 1</option>
                    <option value="cat2">Category 2</option>
                    <option value="cat3">Category 3</option>
                </select>
            </li>
        </ul>
    </td>

    <td>
        <input type="submit" value="Save" class="save">
    </td>
</tr>

<tr>
    <td>Product 2</td>
    <td class="data">
        <ul>
            <li><input type="checkbox" name="items[]" value="item1">Item 1</li>
            <li>
                <select name="categories[]">
                    <option value="cat1">Category 1</option>
                    <option value="cat2">Category 2</option>
                    <option value="cat3">Category 3</option>
                </select>
            </li>
        </ul>

        <ul>
            <li><input type="checkbox" name="items[]" value="item2">Item 2</li>
            <li>
                <select name="categories[]">
                    <option value="cat1">Category 1</option>
                    <option value="cat2">Category 2</option>
                    <option value="cat3">Category 3</option>
                </select>
            </li>
        </ul>
    </td>

    <td>
        <input type="submit" value="Save" class="save">
    </td>
</tr>

$(文档).on('click','save',函数(e){
e、 预防默认值();
var show_times=新数组();
$(this).closest('tr').find('input[type=checkbox]:checked').each(函数(){
显示\u次推送(此值);
});
});

选择元素位于输入元素父lki的下一个同级中。您可以遍历到最近的ul,然后在其中找到select元素:

<script>
    $(document).on('click', '.save', function (e) {
        e.preventDefault();

        var show_times = new Array();
        $(this).closest('tr').find('input[type=checkbox]:checked').each (function () {
            show_times.push(this.value);
        });
    });
</script>

select
是一个兄弟。这样做:

$(document).on('click', '.save', function (e) {
    e.preventDefault();

    var show_times = new Array();
    var show_times_select = new Array();
    $(this).closest('tr').find('input[type=checkbox]:checked').each(function () {
        show_times.push(this.value);
        show_times_select.push($(this).closest('ul').find('select').val());
    });
    console.log(show_times );
    console.log(show_times_select );
});
使用Jquery

$(this).closest('tr').find('input[type=checkbox]:checked').each (function () {
    var selectvalue = $(this).next().val();
    show_times.push(selectvalue);
});

抱歉,但当我在控制台上记录时,它显示selectvalue未定义。抱歉,但它仍然显示selectvalue未定义。谢谢你的帮助。到目前为止我已经做到了<代码>$(文档)。在('click','.save')上,函数(e){
e.preventDefault();
var show_times=new Array();
=this.closest('tr')。查找('input[type=checkbox]:checked')。每个(函数(){
var selectvalue=$(this)。最近('ul')。查找('select')。val();
});
console.log(显示时间);
console.log(选择值);
})
请参阅。您需要再维护一个数组,以便在此处推送select元素值。检查更新的答案。@skonmai:很高兴它有帮助:)抱歉,但当我记录时,它会说selectvalue未定义。@skonmai当没有选中
复选框时会发生这种情况。我已经选中了复选框,但它仍然说selectvalue未定义。谢谢你的帮助。
$(document).ready(function(){

    var arr = [];
    var counter = 0;
    $("input[type='checkbox']").each(function(){

        if($(this).is(":checked")){

           arr[counter] =  $(" select",$(this).closest("ul")).val();
        counter++;
        }
    });

console.log(arr);
});