Πώς να πάρει σήμα από το όνομα της κλάσης από την επιλογή σας σε επιλεγμένες ετικέτα χρησιμοποιώντας jQuery;

ψήφοι
-2

Έχω μια <select>ετικέτα με όλες τις επιλογές που έρχονται από τη βάση δεδομένων. Αυτό που θέλω να συμβεί είναι όταν θα επιλέξετε για μια συγκεκριμένη επιλογή, θέλω να πάρει το όνομα της κλάσης, αλλά έχω αρχίσει Undefinedόταν το κάνω με αυτόν τον τρόπο. Γιατί συμβαίνει αυτό?

HTML :

<select id=mySelect  class=form-control get-this>
    <?php
             foreach ($res as $r) {
             ?>

      <option class=<?= $r->item_name ?> ><?= $r->item_name ?></option>


              <?php }
            ?>

       </select>

Javascript είναι :

<script>
       $('.get-this').on('change', function() { 
    var optionSelected = $(option:selected, this);
    var valueSelected = $('option:selected').attr('class'); 

alert($(this).find('option:selected').attr(class));

}); 
</script>
Δημοσιεύθηκε 20/10/2018 στις 12:54
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
0

Για να πάρει το όνομα της κλάσης ενός στοιχείου, χρησιμοποιήστε την Javascript για .classNameακίνητα.

Σύνταξη:

object.className

Παράδειγμα:

console.log(document.querySelector("#element").className);

Για πολλαπλές κατηγορίες, χρησιμοποιήστε classList(μόνο σε νεότερες εκδόσεις):

// Gets fourth class
console.log(document.querySelector("#element").classList[3];

Για να μιμηθούν classListσε παλαιότερες εκδόσεις, η χρήση.split(/\s+/)

// Gets fourth class
console.log(document.querySelector("#element").className.split(/\+s/)[3];

Πηγή: Πώς να πάρει κατηγορία κλικ στοιχείου

Επεξεργασία: @Andreas είχε δίκιο. Ο κωδικός που έχετε ήδη λειτουργεί και dosen't πρέπει να τροποποιηθούν.

console.log($("#element").attr("class"));

$("#js").text(document.querySelector("#element").className);
$("#jq").text($("#element").attr("class"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="element" class="my-class"></div>

<code>.className</code> returns: <span id="js"></span><br>
<code>.attr("class")</code> returns: <span id="jq"></span>

Απαντήθηκε 20/10/2018 στις 13:22
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more