/ / jquery не чекає повідомлення підтвердження, у ньому запущені всі функції - jquery

jQuery не чекає підтвердження повідомлення, він виконує всі функції - jquery

У мене є мультивибір Gridview, якщо користувач, наприклад, вибрав 3 рядки в сітці: ім’я 1, ім’я2, ім’я3. я повинен показати користувачеві спливаюче повідомлення про підтвердження, ви впевнені?

проблема в jquery, він не чекає повідомлення підтвердження, він викликає всі функції. я хочу знати результат повідомлення спочатку, а потім викликати функції

Відредаговано:

function dosomething()
{

var $current = $("#confirm");
var gridId = $("#Grid_Id");
var confirmedArr = new Array;
confirmedArr = gridId.jqGrid("getGridParam","selarrrow");
var n=0;
var i = 0;


var arrayLength = confirmedArr.length;
var user_id;



alert(arrayLength);
if($current.is(":checked"))
{
for (var i = 0; i < arrayLength; i++)
{
var confirmMsg = "set off USER "+ confirmedArr[i];
_showConfirmMsg(confirmMsg, "Are you sure ?", function(confirmChoice, theArgs)
{
user_id = confirmedArr[i];
console.log(user_id);
usrar=user_id;
if (i>0)
{
usrar=  user_id +usrar;
}
if (arrayLength==i)
{
confirmedme(usrar);
}
});
}

}
else
{
confirmedUserArr = gridId.jqGrid("getGridParam","selarrrow");
confirmedme(confirmedArr);
}

}


function confirmedme(confirmedArr)
{
alert("confirm me");
}

Відповіді:

1 для відповіді № 1

Що ви можете зробити, це спробувати викликати свою функцію всередині зворотного виклику залежно від вибору, звичайно, приблизно такого.

_showConfirmMsg(confirmMsg, "Are you sure ?", function(confirmChoice, theArgs) {
user_id = confirmedArr[i];
i++;
// Call your function here.
if (confirmChoice == something) {
yourFunction();
}
}

ОНОВЛЕНО:

Спробуйте перемістити цей блок із циклу for.

if (arrayLength==i)
{
confirmedme(usrar);
}

Щось на зразок цього:

var count = 0;
for (var i = 0; i < arrayLength; i++) {
var confirmMsg = "set off USER "+ confirmedArr[i];
_showConfirmMsg(confirmMsg, "Are you sure ?", function(confirmChoice, theArgs) {
// Blah blah
count ++;
});
}

if (arrayLength==count)
{
confirmedme(usrar); // Not sure how you use the usrar but make sure you declare this variable before the loop.
}

0 для відповіді № 2

спробуйте змінити:

_showConfirmMsg(confirmMsg, ""Are you sure ?", function(confirmChoice, theArgs)

на:

_showConfirmMsg(confirmMsg, "Are you sure ?", function(confirmChoice, theArgs)