Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλημερα στην κοινοτητα . 

 

Εχω 3 select elements και με jquery  τα ελεγχω 

 

Αναλογα  με το τι επιλεγω  στο party size  αναλογο πρεπει να  ειναι και το αρθροισμα  των τιμων των adults + children

 

Δεν μπορει καποιος δλδ να επιλεξει στο   party-size  το πρωτο  option και το αρθροισμα να ειναι μεγαλυτερο του 4 , η να επιλεξει το 2ο option στο party-size  και το αρθροισμα  να ειναι μεγαλυτερο του 10 η μικροτερο του 5  , κτλ

 

Ενω στην 2η και 3 συνθηκη δουλευει μια χαρα στην πρωτη παθαινει βραχυκυκλωμα  . 

 

Τι μπορει να συμβαινει εδω ;;;

 

Σημειωση : οταν επιλεγω αλλο option στο Party size  το μονο που του λεω να κανει εινα να εχει σαν selected options  στο adults και το children  , το 1 και το 0 αντιστοιχα χωρις να το ελεγχω.

 

Εδω το παραδειγμα https://jsfiddle.net/8ugLhjsm/2/

Δημοσ.

Έχεις λάθος στη δεύτερη συνθήκη if του $(#adults).change 

 

κάν' την έτσι:

else if( getSelectedPartySizes == 2  && ((adultsInts + childrenInts ) > 10   || ( adultsInts + childrenInts ) < 5  )){

Με λίγα λόγια ομαδοποιώ έτσι το OR...

 

κάνε και τη δεύτερη συνθήκη στο children ίδια με παραπάνω.

 

Δες και τα υπόλοιπα if's σου μήπως έχουν θέμα.

 

Τώρα αν έχει κάτι άλλο δεν ξέρω. 

Δημοσ.

Δεν εχω προβλημα ετσι οπως το εχω στην 2η και την 3η συνθηκη .Δουλευει κανονικα νομιζω. Το προβλημα εμφανιζεται μονο στην πρωτη .

Δημοσ.

Νομίζω μπορείς να απλοποιήσεις πολύ περισότερο τα πράγματα

$(".partymaker").change(function () {

  var minPersons = parseInt($("#party-size option:selected").data('min'));
  var maxPersons = parseInt($("#party-size option:selected").data('max'));

  var adultsInts = parseInt($("#adults option:selected").text()); 
  var childrenInts = parseInt($("#children option:selected").text());

  var selectionsAreValid = ((adultsInts + childrenInts) >= minPersons && (adultsInts + childrenInts) <= maxPersons);
 
  if(!selectionsAreValid){ 
    $("#continue_btn").prop("disabled",true);
    $("#adults_error").text("Invalid party size").show();
  } else {
    $("#continue_btn").prop("disabled",false);
    $('#adults_error').hide();
    $('#children_error').hide();
  }
   			
});

<select class="form-control partymaker" id="party-size" >
  <option data-min="1" data-max="4" value="1">1-4 people</option>
  <option data-min="5" data-max="10" value="2">5-10 people</option>
  <option data-min="11" data-max="16" value="3">11-16 people</option>
</select>
Δημοσ.

Alou , Δουλεψε ο κωδικας που δινεις;;    σε μενα δεν δουλευει .  Το μονο που θελω να κανει οταν επιλεγει καποιος το party-size  ειναι να δινει τιμες  στο adults και το children . H δουλεια πρεπει να γινεται οταν αλλαζουν αυτα τα 2 selects και αναλογα με το τι ειναι επιλεγμενο στο partysize να εμφανιζει το μηνυμα λαθους αν υπαρχει 

Δημοσ.

Με εσωσες , θα κατσω να μελετησω  τον κωδικα γιατι 2 μερες ειμαι με καφεδες και τσιγαρα και δεν εβγαζα ακρη .

 

Σε ευχαριστω πολυ Alou να εισαι καλα . 

Δημοσ.

Είναι πολύ απλό, κάθε επιλογή έχει ένα εύρος (min - max) που θεωρείται έγκυρη και ελέγχεις αν το σύνολο βρίσκεται εκεί μέσα.

 

Το μόνο που ίσως πρέπει να καταλάβεις είναι ότι υπάρχει η δυνατότητα να περάσεις data attributes από την html στην js και πολλές φορές αυτό διευκολύνει ( data-min & data-max).

  • Like 1
Δημοσ.

Δεν εχω προβλημα ετσι οπως το εχω στην 2η και την 3η συνθηκη .Δουλευει κανονικα νομιζω. Το προβλημα εμφανιζεται μονο στην πρωτη .

Να ξέρεις το πρόβλημα ήταν εκεί που είπα, γιατί πολύ απλά άλλαξα τα κείμενα στα consoles σου και το τσέκαρα. Δεν το είπα έτσι. 

  • Like 1
Δημοσ.

Να ξέρεις το πρόβλημα ήταν εκεί που είπα, γιατί πολύ απλά άλλαξα τα κείμενα στα consoles σου και το τσέκαρα. Δεν το είπα έτσι. 

rafinos να εισαι καλα και εσυ φιλε . Μεσα στην ζαλη και την παραζαλη  ειμαι δικαιολογημενος νομιζω.Ευχαριστω για την γρηγορη αποκριση .Αυτο ηταν τωρα που το ειδα .Ομαδοποιηση των || επρεπε να γινει .

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...