добавление опций выбора с помощью JavaScript - PullRequest
0 голосов
/ 11 августа 2011

В настоящее время у меня есть пустой выпадающий список, который я хотел бы заполнить некоторыми данными, которые я получил из своей базы данных, используя javascript.
Я действительно понятия не имею, как это сделать, поэтому сейчас я пытаюсь это сделать.
Javascript с JQuery.

for (var i=0;i<data.length;i++)
  {
  var code$=data[i].String1;
  var desc$=data[i].Code_Description;
  var str$=$('<option value='+code$+'>'+desc$+'</option>');
  option$.append(str$);
  }
   $('#offCode').html(option$); 

Я тоже пробовал

$('#offCode').append(option$); 

но ничего из этого не работает

Спасибо

Ответы [ 4 ]

2 голосов
/ 11 августа 2011

Попробуйте использовать что-то вроде:

for (var i=0;i<data.length;i++) {
      var code$=data[i].String1;
      var desc$=data[i].Code_Description;
      $('<option value='+code$+'>'+desc$+'</option>').appendTo($('#idOfSelectElement'));
}

Очевидно, что вышеизложенное зависит от правильного извлечения и заполнения переменных из вашего вызова ajax / database-call.

0 голосов
/ 11 августа 2011

Решение, приведенное ниже, основано на информации, представленной в вашем вопросе. Некоторые элементы могут быть неприменимы, так как полный объем вашего кода не был раскрыт. В результате решение немного изменяется, но вы сможете легко изменить его в соответствии с вашими потребностями.

HTML:

<select></select>
<br />
<h1>Your select box options code:</h1>
<div id="code"></div>

JavaScript:

var data = {"info":[{"String1":"string-value1","Code_Description":"description1"},{"String1":"string-value2","Code_Description":"description2"},{"String1":"string-value3","Code_Description":"description3"},{"String1":"string-value4","Code_Description":"description4"}]};

data = data.info;

for (var i=0;i<data.length;i++){
    var e = data[i];
    var code = e.String1;   
    var desc = e.Code_Description;   
    var str =('<option value="'+code+'">'+desc+'</option>');
    $("select").append(str); 
} 

$("#code").text($("select").html());

Рабочий пример по адресу: http://jsfiddle.net/nAPDq/

0 голосов
/ 11 августа 2011
$("<option value='abc'>Whatever Text</option>").appendTo($('select'));
0 голосов
/ 11 августа 2011

append() элементы опции, которые вы делаете непосредственно для <select>

Вы не можете определить, что option$ из фрагмента кода, но append вставляет аргумент как дочернийэлемент.Может показаться, что вы append 'используете все опции для элемента, а затем append' - для этого элемента, который не будет работать.

...