Mám viacnásobný výber Gridview, ak napríklad používateľ vybral 3 riadky v mriežke: meno 1, meno2, meno3. mal by som používateľovi zobraziť správu s potvrdením vyskakovacieho okna, si si istý?
problém v jQuery, nečaká na potvrdzujúcu správu, volá všetky funkcie. to, čo chcem, je vedieť najskôr výsledok správy a potom zavolať funkcie
upravené:
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");
}
odpovede:
1 pre odpoveď č. 1Čo môžete urobiť, je vyskúšať volanie svojej funkcie do spätného volania v závislosti od výberu, samozrejme, niečo také.
_showConfirmMsg(confirmMsg, "Are you sure ?", function(confirmChoice, theArgs) {
user_id = confirmedArr[i];
i++;
// Call your function here.
if (confirmChoice == something) {
yourFunction();
}
}
AKTUALIZOVANÉ:
Skúste tento blok presunúť z cyklu for.
if (arrayLength==i)
{
confirmedme(usrar);
}
Niečo také:
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 pre odpoveď č. 2
skúste zmeniť:
_showConfirmMsg(confirmMsg, ""Are you sure ?", function(confirmChoice, theArgs)
na adresu:
_showConfirmMsg(confirmMsg, "Are you sure ?", function(confirmChoice, theArgs)