JQuery получает текст выбранных результатов в повторяющемся значении - PullRequest
1 голос
/ 24 января 2011

У меня есть выпадающий список, который выглядит так:

 <li class="row" recordid="15">
 <!--...code...-->
 <p class="departments">
 <select name="department" id="department">
     <option value="null">Select A Department</option>
     <option value="1">Graphic Design</option>
     <option value="2">Photography</option>
     <option value="3">Advertising</option>
     <option value="4">Custom Promotions</option>
<select>
</p>
<!--more code-->
</li>

когда я пытаюсь получить текущий выбор выбора, он записывает его дважды (это инициируется нажатием кнопки, чтобы подтвердить изменения в строке):

 $(".confirmEdit").live('click', function() { 

//get row id
var dbid = $(this).parent().attr("recordid");

//user
    var thisuser = "AUser";

//get values
var department = $("#department").val();
var deptDisplay = $("#department option[value='" + department + "']").text();
console.log(deptDisplay);
    //...
 });

если выбран Графический дизайн, мои результаты - Графический дизайнГрафический дизайн. Я неправильно вытащил данные? Может ли это быть ошибкой? Я динамически создаю выпадающие списки (используя некоторые PHP / AJAX / JS mojo), но индексы и текст отображаются нормально.

1 Ответ

1 голос
/ 24 января 2011

Я не знаю, почему вы получаете его дважды, но для получения text из выбранных <option> просто используйте selected-selector (документы) как это:

var deptDisplay = $("#departments option:selected").text();

или без JQuery:

var depts = document.getElementById('departments');
var deptDisplay = depts.options[ depts.selectedIndex ].text;
...