2015-04-22 3 views
2

Я пытался генерировать динамические значения параметров в моем jquery multiselect с помощью javascript.Как сгенерировать значения параметров в jquery multiselect из js

function prova(data){ 
     var t = 0; 
     var tmp = new Array(); 
     var keys = new Array(); 
     $("#select-1").multiselect({ 
     multiple: true, 
     header: true, 
     noneSelectedText: "Select an Option", 
     selectedList: 1 
    }); 
    var stringa =""; 
    $.each(data, function(key,value){ 
    stringa +="<option value=\""+key+"\">"+key+"</option>"; 
    if(t==0){ 
    tmp[0] = key; 
    } 
    t++; 
    }); 
    $("#select-1").html(stringa); 
} 

Мои значения, полученные в # выберите-1 являются чем-то вроде этого:

<select id="select-1" size="5" name="example-basic" title="Basic example" style="display: none;"> 
<option value="name1">name1</option> 
<option value="name2">name2</option> 
<option value="name3">name3</option> 
<option value="name4">name4</option> 
<option value="name5">name5</option> 
</select> 

Проблема заключается в том, что он не заполняет значения параметров в Jquery множественный, который остается пустым.

+0

В примере, где вы показали, что ваш '# select-1', как, я вижу' значение' и 'innerHTML' каждого элемента' option'. Вы хотели показать элементы 'option' без' value'? Вы можете изменить свой вопрос, чтобы показать это для ясности, потому что, насколько мы можем судить, он работает так, как должен. – boombox

ответ

3

Поскольку вы используете .html() непосредственно на элементе, вы заменяете элементы внутри него, прежде чем вставлять новые элементы. Вы можете использовать .append(), как:

$.each(data, function(key,value){ 
    stringa +="<option value=\""+key+"\">"+key+"</option>"; 
    if(t==0){ 
    tmp[0] = key; 
    } 
    t++; 
    }); 
    $("#select-1").append(stringa); 

Или использовать предыдущие значения, а также, в использовании .html(), как:

$.each(data, function(key,value){ 
    stringa +="<option value=\""+key+"\">"+key+"</option>"; 
    if(t==0){ 
    tmp[0] = key; 
    } 
    t++; 
    }); 
    $("#select-1").html($("#select-1").html()+stringa); 
+0

Спасибо, я решил это с этим. –

Смежные вопросы