如果类中的任何字段为空,则禁用相关按钮

时间:2019-09-03 09:30:37

标签: javascript jquery

我正在使用ajax来获取数据,其中每个tr都有一个相关的按钮,如果类中有空字段,我想禁用其最接近的按钮。 我尝试了此代码,该代码未禁用按钮。

success:function(response) {      

            var cat = {};
            response.result.forEach(function(element) {
              cat[element.category] = cat[element.category] || [];
              cat[element.category].push(element);
            });

            Object.keys(cat,).forEach(function(category) {
            // Append the category header   
                html = '<tr>';
                html += '<th><p>'+category+'</p></th>';
                html += '</tr>';
                $('table').append(html);

        // Loop through the results for this category
          categ[category].forEach(function(element) {
            console.log(element);
            var id = element.id;
            var score= element.score;
                            var catID= element.cat_id;

                html = '<tr class="data">'; 
                html += '<td  class"=ids"><p>'+id+'</p></td>';
                html += '<td><p>'+score+'</p></td>';
                html += '</tr>';
                $('table').append(html);
        });
                html = '<tr>';  
                html += '<input type="hidden" value="'+catID+'" />';
                html += '<td> <button type="button" class="submitOne> </button> submit </td>';
                html += '</tr>';
                $('table').append(html);
        });
}

禁用按钮的脚本

$(function () {
$('.data').each(function () {
    if ( !$.trim($(this).find('.ids').html() ).length ) {
        $(this).closest('tr').find('.submitOne').attr('disabled', 'disabled');
    }
    else {
        (this).closest('tr').find('.submitOne').removeAttr('disabled');
    }
});
});

1 个答案:

答案 0 :(得分:0)

在按钮类中,您遗漏的是双引号

<td> <button type="button" class="submitOne> </button> submit </td>

替换为

<td> <button type="button" class="submitOne"> </button> submit </td>

并使用 next()代替 closet()

$(function () {
$('.data').each(function () {
   if ( !$.trim($(this).find('.ids').html() ).length ) {
   console.log("a")
    $(this).next('tr').find('.submitOne').prop('disabled', true);


    }
    else {
    console.log("b")
    $(this).next('tr').find('.submitOne').prop('disabled', false);
    }
});
});