上面提到的代码行通常可以正常工作,但是当我将它移动到我的PHP脚本返回的函数(数据)时却没有。我假设某些东西超出范围或类似的东西?这是代码,精简到基础。
$('.training_staff_change').on('change',
function () {
// Post the data.
$.post('updatetrainingstaff.php',
{
} ,
function ( data ) {
$(this).prop('selectedIndex', 5);
}
)
});
正如我所说,那已经被剥离了,其余的代码工作正常。如果我将该行移出该函数并在该函数下方,它可以正常工作并根据需要设置选择器。 $(this)是否超出范围或某事?在我的最终代码中,它会将selectedIndex更改为'data'返回值,但这不是问题。它甚至不会改为直线'5'。
答案 0 :(得分:1)
是的,它超出范围(你自己回答你的问题),但要解决这个问题有很多方法,最简单的方法就是:
$('.training_staff_change').on('change',
function () {
var that = $(this);
// Post the data.
$.post('updatetrainingstaff.php',
{
} ,
function ( data ) {
that.prop('selectedIndex', 5);
}
)
});