2016-04-05 13 views
0

Problem beim Anzeigen von Auswahl bei Änderungsattribut-ID.jQuery bei Änderung gibt keinen Attributwert zurück

PHP:

<form action="" class="form-inline"> 
    <div class="form-group"> 
     <select name="kategorijos" id="kategorijos" class="category form-control" onchange="fetch_select_category(this.value);"> 
      <option value=""></option> 
      FOREACH 
     </select> 
    </div> 
    <div class="form-group"> 
     <fieldset disabled> 
      <select id="disabledSelect" name="subcategories" class="subcategory form-control" onchange="fetch_select_product(this.value);" required> 
       <option value="" disabled selected>Select Subcategory</option> 
      </select> 
     </fieldset> 
    </div> 
    <div class="form-group"> 
     <td><input type="text" name="gramai" class="form-control" value=""></td> 
    </div> 
    <div class="form-group" id="kalb"> 
     <input type='text' name='1[]' value="-" disabled> 
     <input type='text' name='12[]' value="-" disabled> 
     <input type='text' name='123[]' value="-" disabled> 
     <input type='text' name='1234[]' value="-" disabled> 
    </div> 
</form> 

Mein jquery Code:

$("select").on('change', function() { 
    var status = $('select').attr('id'); 
    alert(status); 
}); 

var categoryId = 0; 
var category = 0; 
var product = 0; 
var disableId = 0; 

$("#add").click(function() { 
    categoryId = categoryId + 1; 
    category = category + 1; 
    product = product + 1; 
    disableId = disableId + 1; 

    $("#item").append('<div class="col-xs-12"><form action="" 
     class="form-inline"><div class="form-group"><select name="kategorijos" 
     **....... same code as above (php)** 
    }); 

Wenn ich die erste Zeile wählen Sie es Wert alarmiert. Aber dann füge ich neue Zeile mit Hinzufügen-Taste, und dann ändern Sie die zweite Auswahl der Warnung nicht funktionieren, und ich bekomme nicht die Auswahl-ID. Wo kann das Problem sein? Vielleicht funktioniert es nicht mit Append HTML?

+0

Wo ist das HTML-Element mit der ID "#add", die Sie auswählen? –

Antwort

2

Sie müssen event delegation für dynamisch generierte Elemente verwenden und auch this anstelle von 'select' verwenden, um die id Dropdownliste zu erhalten.

$(document).on('change', 'select', function() { 
    var status = $(this).attr('id'); 
    alert(status); 
}); 
Verwandte Themen