En utilisant les js suivants, je peux obtenir des membres. Je dois compter chaque fois que je reçois un nouveau membre de la base de données. Que je ne sais pas faire.
function intialize_memberDropDown(rowNumber, subrowNumber) {
$.ajax({
type: "GET",
url: "/Member/GetAllMember/",
cache: false,
success: function (data) {
debugger
var countryHTMLString = "<option value ='0'>Select Member</option>";
if (data.isSucess) {
$.each(data.data, function (index, item) {
countryHTMLString += "<option value ='" + item.memberid + "'>" + item.membername + "</option>";
});
}
$("#memberid" + rowNumber + subrowNumber + "").html(countryHTMLString)
}, error: function (err) {
debugger
}
});
}
3 réponses
Si vous comptez + 1 à chaque appel de la fonction Ajax, alors vous comptez également en cas d'échec. De plus, la question dit "Je dois compter chaque fois que j'obtiens un nouveau membre de la base de données". L'itération des membres semble se produire ici:
$.each(data.data, function (index, item) {
countryHTMLString += "<option value ='" + item.memberid + "'>" +
item.membername + "</option>";
});
Donc, vous déclareriez toujours la variable à l'extérieur, mais vous compteriez ++ à l'intérieur de cette itération comme ceci:
$.each(data.data, function (index, item) {
count++;
countryHTMLString += "<option value ='" + item.memberid + "'>" + item.membername + "</option>";
});
Vous devez déclarer une variable en dehors de la fonction et chaque fois que la fonction ajax appelle, compter +1 cette variable, comme ceci:
var counter = 0;
function intialize_memberDropDown(rowNumber, subrowNumber) {
counter +=1;
$.ajax({
type: "GET",
url: "/Member/GetAllMember/",
cache: false,
success: function (data) {
debugger
var countryHTMLString = "<option value ='0'>Select Member</option>";
if (data.isSucess) {
$.each(data.data, function (index, item) {
countryHTMLString += "<option value ='" + item.memberid + "'>" + item.membername + "</option>";
});
}
$("#memberid" + rowNumber + subrowNumber + "").html(countryHTMLString)
}, error: function (err) {
debugger
}
});
}
En ajoutant ceci:
var rowCount = $('#memberid').html(data).find('tr').length;
function intialize_memberDropDown(rowNumber, subrowNumber) {
$.ajax({
type: "GET",
url: "/Member/GetAllMember/",
cache: false,
success: function (data) {
debugger
var countryHTMLString = "<option value ='0'>Select Member</option>";
if (data.isSucess) {
$.each(data.data, function (index, item) {
countryHTMLString += "<option value ='" + item.memberid + "'>" + item.membername + "</option>";
});
}
// tr is table row table html
var rowCount = $('#memberid').html(data).find('tr').length;
$("#memberid" + rowNumber + subrowNumber + "").html(countryHTMLString)
}, error: function (err) {
debugger
}
});
}
Questions connexes
De nouvelles questions
javascript
Pour des questions concernant la programmation dans ECMAScript (JavaScript / JS) et ses divers dialectes / implémentations (hors ActionScript). Veuillez inclure toutes les balises pertinentes dans votre question; par exemple, [node.js], [jquery], [json], etc.