我正在使用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');
}
});
});
答案 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);
}
});
});