2013-02-17 77 views
0

我有一個問題 - 我的jQuery更改模糊事件只適用於動態創建的列表中的第一個元素。我該如何解決這個問題?jQuery更改模糊事件只適用於列表中的第一個元素

我已創建的元素(以及一個淡化的版本)可以在這裏找到:http://jsfiddle.net/kfm5b/2/

jQuery的

$('.roomFac').on("change blur", function() { 
    var park = $("#park2").val(); 
    var lecturestyle = $("#lecture_style2").val(); 
    var roomstructure = $("#room_structure2").val(); 
    var groupsize = $("#groupSize2").val(); 
    var facilities = ""; 
    $('select[name*=roomFac]').each(function() { 
     facilities += $(this).val(); 
     facilities += ","; 
    }); 
    var dataString = 'park=' + park + '&' + 'lecturestyle=' + lecturestyle + '&' + 
     'roomstructure=' + roomstructure + '&' + 'groupsize=' + groupsize + '&' + 
     'facilities=' + facilities; 
    $.ajax({ 
     type: "POST", 
     url: "process_timetableMon2.php", 
     data: dataString, 
     cache: false, 
     success: function (html) { 
      $('#mon').html(html); 
     } 
    }); 
}); 

process_timetableMon2.php

$array = explode(",", $_POST["facilities"]); 

for($i = 0; $i < count($array); $i++){ 
    echo $array[$i].'<br>'; 
} 
+0

如果您已經設置了jsFiddle,請繼續添加您正在嘗試修復的功能,以演示問題 – Roy 2013-02-17 14:50:34

回答

0

既然選擇下拉列表是動態添加的,您需要一個委託事件處理程序:

$(document).on('change blur', '.roomFac', function() { 
    //Your function here 
});