我在制作任务树时遇到问题,我有动态复选框。基本上,如果选中了顶级(父任务),我希望它检查所有子任务(子框)。我有这个在我的一个任务树上工作,但由于某种原因不能让它为我的另一个工作。
<script>
$(function() {
$.ajaxSetup( { cache: false } );
$('.task-tree').tree({
ui: {
theme_name: 'checkbox'
},
plugins : {
checkbox: { three_state: false }
},
callback: {
onload: function( tree ) {
tree.open_all();
$('.task-tree li a').each( function() {
var taskID = GetIdNum( $(this).attr('id') );
if ( $('#Task' + taskID + 'Enabled').val() == 1 )
{
console.log( $(this).parent() );
jQuery.tree.plugins.checkbox.check( $(this).parent() );
}
});
},
onchange: function( node, tree ) {
var selectedID = GetIdNum( $(node).find('a').attr('id') );
var required = $('#Task' + selectedID + 'Required').val();
console.log( 'REQ --> ' + required );
if ( required == 1 )
{
return false;
}
else
{
$('.task-tree li a').each( function() {
var taskID = GetIdNum( $(this).attr('id') );
console.log( taskID );
$('#Task' + taskID + 'Enabled').val(1);
});
console.log( '----------------------------------------------' );
var unchecked = jQuery.tree.plugins.checkbox.get_unchecked(tree).find('a.not-required');
$(unchecked).each( function(){
var taskID = GetIdNum( $(this).attr('id') );
console.log( taskID );
$('#Task' + taskID + 'Enabled').val(0);
});
console.log( '*************************************************' );
}
}
}
});
});
如果您需要有关该问题的更多信息,请告诉我。