javascript - Js variable does not update in ajax -
i use jstree , want reload new data cannot send new data.
var $driver = 0; $(document).ready(function () { $('#tree_folder').jstree({ 'core': { 'check_callback': true, "themes": { "responsive": false }, 'data': { type: "post", url: "doc.aspx/folder", data: function () { return '{"driver":"' + $driver + '"}' }, contenttype: "application/json" } } }); }); $(document).on('click', '.tile', function () { var $item = $(this); var $driver = $item.attr('data-driver'); // alert($driver); $('#tree_folder').jstree('refresh'); }); i got new value when clicked, send old default data every time. above in alert function, can give me right value although json post send default 1 data written function
function () { return '{"driver":"' + $driver + '"}' }
how can new value variable?
remove var before $driver .tile click function created global previously,
try this,
$(document).on('click', '.tile', function () { var $item = $(this); $driver = $item.attr('data-driver'); // remove var line // alert($driver); $('#tree_folder').jstree('refresh'); }); also use cache:false in jstree like,
function getdriver() { return '{"driver":"' + $driver+ '"}'; } $(document).ready(function () { $('#tree_folder').jstree({ 'core': { 'check_callback': true, "themes": { "responsive": false }, cache: false, // cache false 'data': { type: "post", url: "doc.aspx/folder", data: getdriver(), // updated driver contenttype: "application/json" } } }); }); also take on change ajax options in jstree server
Comments
Post a Comment