2012-06-27 2 views
0

Я заполняю раскрывающееся меню, основанное на значении, выбранном в первом падении вниз. Передача данных с сервера в формате JSON и использование JQuery для синтаксического анализа и заполнения второго тега selectНевозможно выбрать первый элемент из select с помощью JQuery

<select name="abc" id="jobName"> 
    <option value="-1">Please select a Job</option> 
</select> 

Это мой Jquery код

var selectedGroup = document.getElementById(groupDropDownId); 
var groupdata = selectedGroup.options[selectedGroup.selectedIndex].value; 
var formInput='group='+groupdata; 

$.getJSON('search/getSchedulerJobListForGroup',formInput,function(data) { 

    $('.result').html('' + data.jobList + ''); 
    $.each(data.jobList,function(index, value){ 
    var jobId = document.getElementById(resetDropDownId); 
    var option=new Option(value,value); 
    try{ 
     jobId.add(option); 
     } 
     catch(e){ 
      jobId.appendChild(option); 
     } 
     }); 
     }); 

    $("#jobName")[0].selectedIndex = 1; 
    // $("#jobName").val($("#triggerjobName option:first").val()); 

в коде выше groupDropDownId является идентификатором ниспадающего на основе значения которого, второе падение вниз будет заполнена. resetDropDownId - это идентификатор второго раскрывающегося списка, который я пытаюсь заполнить из данных JSON, получаемых с сервера.

После заполнения раскрывающегося списка также создается пустой тег параметра, и по умолчанию он становится выбранным. Я не уверен, могу ли я добавить какое-то значение по умолчанию к этой пустой опции, чтобы я мог выбрать это значение по умолчанию, например «выберите bla bla».

также я попытался выбрать первый элемент из раскрывающегося списка, но ничего не работает для меня. Мне интересно, что я делаю неправильно здесь?

+0

Это поможет, если вы отформатировали свой код, так что это более удобным для чтения, а также объяснил, где используются переменные, но не определен, в коде пришли. –

ответ

0

Основываясь на вашем вопросе, похоже, что вы хотите знать, как изменить значение и текст элемента в динамически заполненном списке выбора.

В настоящее время у вас есть это заявление $("#jobName")[0].selectedIndex = 1; заседание outside of your getJSON request. Если вы переместите это внутри функции getJSON, она будет работать, как ожидалось.

Если вы хотите, чтобы установить значение и текст этого объекта, вы будете использовать ->

$('#jobId option:first').val("Some Value").text("other stuff"); 

Вы можете увидеть рабочую JS скрипку с использованием динамически населенным списка выбора из объекта JSON.

Fiddle

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