2016-04-07 6 views
1

Ich muss zwei Werte aus zwei Dropdown-Listen wählen, sagen wir 1001 aus dem ersten Dropdown und 1003 aus dem zweiten Dropdown. Nach dem Klicken auf die Schaltfläche "Hinzufügen" muss ich diese Werte zusammen mit den dazwischen liegenden Werten an die folgende Methode senden: 1001, 1002 und 1003.Inkrementiere eine Variable in einer Schleife in jquery

Unten ist der Code, den ich dafür verwendet habe.

var s_no = "" + $("#start_num option:selected").text(); 
var e_no = "" + $("#end_num option:selected").text(); 
var diff = e_no - s_no; 
var regno = 0; 

for (i = 0; i <= diff; i++) { 
    regno = s_no; 
    $.ajax({ 
     type: 'POST', 
     dataType: "json", 
     url: '<?php echo base_url('SchoolAdmin/inserthall'); ?>', 
     data: { regno: regno }, 
     success: function (result) { 
      console.log(result); 
     } 
    }); 
    s_no = regno + 1; 
} 

Der gleiche Wert in s_no wird immer in die Datenbank als die anderen Werte eingefügt. 1001 wird wiederholt in die Datenbank eingefügt. Ich brauche 1002 und 1003 zusammen mit 1001. Danke im Voraus.

Antwort

2

Sie müssen die zurückgegebenen Zeichenfolgen von val() in Ganzzahlen konvertieren, so dass Sie die Subtraktion für sie durchführen können. Beachten Sie auch, dass die Logik, die die Zahl berechnet, aufgeräumt werden kann. Versuchen Sie folgendes:

var s_no = parseInt($("#start_num option:selected").text(), 10); 
var e_no = parseInt($("#end_num option:selected").text(), 10); 
var diff = e_no - s_no; 

for(i = 0; i <= diff; i++) { 
    var regno = s_no + i; 
    $.ajax({ 
     type: 'POST', 
     dataType:"json", 
     url: '<?php echo base_url('SchoolAdmin/inserthall'); ?>', 
     data: { regno: regno }, 
     success: function (result) { 
      console.log(result); 
     } 
    }); 
} 

Beachten Sie auch, dass es viel besser Praxis wäre ein AJAX-Request sendet alle reg_no Werte in einem Rutsch zu machen.

+0

thank u so viel gearbeitet it :) – Rose

1

Sie senden den Wert regno, der auf den Basiswert s_no initialisiert wird.

regno=s_no; 

Aber Sie müssen die Zählervariable

regno=s_no + i; 
+0

thank u so much :) – Rose

1

auch hinzufügen, wäre es nicht besser, an der Spitze Ihrer for-Schleife

regno = s_no + i; 

In Ihrer Zuordnung zu setzen?

1
var checked = $("input:checked"); 
checked.each(function(index) { 
    var $this = $(this); 
    var id_bookslot = data + index + 1;   // <== Using the index here 
    var treatment_type = $this.closest("div").attr("id"); 
    var id_treatment = $this.attr("class"); 
    $.post("include/get_booking.php?insert", { 
     id_bookslot: index, 
     id_treatment: id_treatment, 
     treatment_type: treatment_type 
    }`` 
); 
}); 
+0

u so much danken :) – Rose

Verwandte Themen