2013-10-17 79 views
0

我有一個按鈕,點擊添加一個dropdownlist dynamically到div, 然後我需要爲每個添加的dropdown設置選定的值。設置動態添加下拉列表選擇值是一個變量

這裏Demo

在我的演示,有可能是n一些containerDiv等各n一些setSelectedValue_n ,我需要設置setSelectedValue_1的尊敬DDL

Js:

$("#btn").on('click', function() { 
    var setSelectedValue_1 = 'mno'; 
    var setSelectedValue_2 = 'pqr'; 
    var setSelectedValue_3 = 'abc'; 
    $('.containerDiv').each(function() { 

     var ddGenerate = '<select><option>abc</option><option>pqr</option>option>xyz</option> <option>mno</option></select>'; 
     $(this).append(ddGenerate); 
    }); 
}); 

回答

1

DEMO

增值屬性在這裏的每一個選項

變化

var ddGenerate = '<select><option value="abc">abc</option><option value="pqr">pqr</option><option value="xyz">xyz</option> <option>mno</option></select>'; 
            ^//added value attribute here in each option 

閱讀.appendTo().val()

$(ddGenerate).val('abc').appendTo($(this)); 

全碼

$("#btn").on('click', function() { 
    var setSelectedValue_1 = 'mno'; 
    var setSelectedValue_2 = 'pqr'; 
    var setSelectedValue_3 = 'abc'; 
    $('.containerDiv').each(function() { 

     var ddGenerate = '<select><option value="abc">abc</option><option value="pqr">pqr</option><option value="xyz">xyz</option> <option>mno</option></select>'; 
     $(ddGenerate).val('pqr').appendTo($(this)); 
    }); 
}); 

更新的代碼

DEMO

$("#btn").on('click', function() { 
    var arr = ['mno', 'pqr', 'abc']; 
     $('.containerDiv').each(function (i) { 
      var ddGenerate = '<select><option value="abc">abc</option><option value="pqr">pqr</option><option value="xyz">xyz</option> <option>mno</option></select>'; 
      $(ddGenerate).val(arr[i]).appendTo($(this)); 
     }); 
}); 
+0

+1的工作演示,但這不是在我的實際工作代碼,即生成的ddl子變量進一步附加在一些容器div父變量,它必須選擇= true,然後我追加父div,對不起,我知道它的位混亂 –

+0

@Sindersindersh檢查更新[** DEMO **](http:///jsfiddle.net/fpawm/2/) –

+0

即ddGenerate中的變量必須將selected = true作爲各自的位置添加,因此此更新的變量ddGenerate會附加到另一個動態生成的可信 –

1

你的意思是這樣的:

$("#btn").on('click', function() { 
    var arr = ['mno', 'pqr', 'abc'],  
     i = 0; 
    $('.containerDiv').each(function() { 
     var selected_v = arr[i]; 
     var ddGenerate = '<select><option value="abc">abc</option><option value="pqr">pqr</option><option value="xyz">xyz</option> <option value="mno">mno</option></select>'; 
     $(this).append(ddGenerate); 
     $(this).find("select option[value='"+selected_v+"']").prop("selected", true); 
     i++; 
    }); 
}); 

更新Fiddle

+0

更好的代碼版本http://jsfiddle.net/fpawm/4/ –

+0

+1以獲得更好的代碼,但這不適用於我的實際代碼,即生成的ddl子變量將會追加到某個容器中div父變量,它必須選擇= true,然後我添加父div,對不起,我知道它的位混淆 –

+0

即'ddGenerate'中的變量必須添加'selected = true'作爲各自的位置,因此此更新的變量'ddGenerate'附加到另一個動態生成可放大 –

相關問題