jQuery插件(在這裏找到:http://harvesthq.github.com/chosen/)增加了額外的功能來選擇HTML元素。我可以使用以下代碼將功能添加到頁面上加載的初始元素:如何將Chosen Plugin添加到動態創建/克隆的CSS div中?
$(document).ready(function(){
$(".chosenProperties").data("placeholder","Select properties...").chosen();
$(".chosenType").data("placeholder","Type...").chosen();
$(".chosenInstance").data("placeholder","Instance...").chosen()
這很有效。所有這三類select元素都出現在一個名爲#newGroup的div中。有一個按鈕「添加」一個新組,它克隆#newGroup div並將其添加到第一個下方。
它包含相同的元素。但是,當我嘗試將選定的功能添加到克隆的div中的選定項目時,它們被凍結。該界面看起來與第一個相同,所以選擇正在加載,但是當我點擊它們時,什麼也沒有發生。以下是代碼:
$('#swl-add-group-button').click(function() {
//addGroupToGUI();
createClassAddRow();
});
var rowNum = 0;
function createClassAddRow() {
rowNum++;
newRow = jQuery('#newGroup').clone().css('display', '');
newHTML = newRow.html().replace(/0/g, 1);
newRow.initializeJSElements();
newRow.html(newHTML);
newRow.initializeJSElements();
jQuery('#mainTable').append(newRow);
addGroup(newRow);
}
jQuery.fn.initializeJSElements = function(){
this.find(".chosenProperties").each(function() {
alert('test');
if($(".chosenProperties").data("placeholder", "Select properties...").chosen()){
alert('test2');
}
});
this.find(".chosenType").each(function() {
jQuery(this).data("placeholder","Type...").chosen();
});
this.find(".chosenInstance").each(function(){
jQuery(this).data("placeholder", "Instance...").chosen();
})
}
出現警報,測試和測試2。所以我認爲jQuery正在加載,但由於某種原因,它不起作用。另外,我不確定這是否有所作爲,但是當我將鼠標懸停在克隆的div選擇元素上時,它說javascript:void(1),而當我將鼠標懸停在原始文件上時,它表示javascript:void(0)。
什麼會去這樣做,最好的方法是什麼?再次感謝。 – dysruption
明確地做到這一點。也就是說,要創建一個新的'select',然後將**選中**應用於它。 – penartur