У мене є мультивибір 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)