繁体   English   中英

如何将复选框选中的字符串值与 li 元素进行比较以编辑最后一个

[英]how to compare checkbox checked string value with li element to edit last one

如何将复选框选中的字符串值与 li 元素进行比较以编辑最后一个。 例如。

 jQuery(function($){

// start ajax 
    $('#filter input[type="checkbox"]').on('change', function(){
        var filter = $('#filter');

                        /* Stuff to do every *odd* time the element is clicked */
        $.ajax({
            url:filter.attr('action'),
            data:filter.serialize(), // form data
            type:filter.attr('method'), // POST
            beforeSend:function(xhr){
                filter.find('button').css('opacity', '1').text('Загрузка...'); 
                // changing the button label
            },
            success:function(data){
                filter.find('button').css('opacity', '0');; // changing the button label back
                if($(".checkbox:checked").length == 0) {
                                $('#response').empty(); 
                          } else {
                                $('#response').html(data); 
                                
                                 };
                                 
                                 $(".usage-product-list li").each(function () {
                                        if ($(this).text() == 'Усиление иммунитета') {
                                            $(this).css('color', 'red');
                                        }
                                    });


                                }
                    });
        return false;
                    });
//end jquery ajax

    // load more toggle start
    $('.load-more').toggle(function() {
    $(this).html('Меньше параметров <i class="fas fa-angle-up"></i>');
    $('.row-wrap').slideDown('slow');
}, function() {
    $(this).html('Больше параметров <i class="fas fa-angle-down"></i>');
    $('.row-wrap').slideUp('slow');
});
    // load more toggle end


    $('#filter input[type="checkbox"]').click(function () {
            $(this).siblings('span').toggleClass('active');
        });
    // end of stack
    });
// end of stack

在我的代码中,如果 li 包含我放入字符串中的文本,我必须更改它的颜色,但是如何使用文本字符串更改每个 li 颜色等于每个选中的复选框父 LABEL 字符串值?

 $(".usage-product-list li").each(function () {
                                            if ($(this).text() == 'Усиление иммунитета') {
                                                $(this).css('color', 'red');
                                            }
                                        });

  <label><span></span><input class="checkbox" type="checkbox" name="usage_uluchpoedaemost"/>Улучшение поедаемости</label>
                    <label><span></span><input class="checkbox" type="checkbox" name="usage_usilimmun"/>Усиление иммунитета</label>

只需将此添加到您的success function 而不是$(".usage-product-list li").each(function () {});

let checked = $("input[type='checkbox']:checked")
checked.each(function() {
   let labelText = $(this).closest("label").text();
    $(".usage-product-list li").each(function() {
       if ($(this).text() == labelText) {
          $(this).css('color', 'red');
       }
    });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM