Выпадающие списки AJAX (выбор HTML) в Firefox с jQuery

Помощь! Я использую jQuery для выполнения вызова AJAX для динамического заполнения раскрывающегося списка с учетом предыдущего ввода пользователя (из другого раскрывающегося списка, который заполняется на стороне сервера). Во всех других браузерах, кроме Firefox (IE6 / 7, Opera, Safari), мой вызов добавления фактически добавляет информацию под моим существующим параметром - «Выбрать». Но в Firefox он автоматически выбирает последний элемент, переданный элементу управления select, независимо от того, указываю ли я действие JQuery для .append или для замены (.html ()).

<select name = "Products" id = "Products" onchange = "getHeadings(this.value);">
  <option value = "">Select Product</option>
</select>    

function getProducts(Category) {
  $.ajax({
    type: "GET",
    url: "getInfo.cfm",
    data: "Action=getProducts&Category = " + Category,
    success: function(result){
      $("#Products").html(result);
    }
  });
};

есть идеи? В прошлом я пытался передать еще одну пустую первую опцию, а затем запустить опцию JavaScript для повторного выбора первого индекса, но это вызывает событие onChange в моем коде, что довольно раздражает пользователя.


Обновлять:

Вот пример того, что скрипт вернет

<option value = "3">Option 1</option>
<option value = "4">Option 2</option>
<option value = "6">Option 3</option>

При желании, если использовать метод .html () вместо .append (), я бы поставил другой

<option value = "">Select a Product</option>

вверху результата.


@Darryl Hein

Вот пример того, что скрипт вернет

<option value = "3">Option 1</option>
<option value = "4">Option 2</option>
<option value = "6">Option 3</option>

При желании, если использовать метод .html () вместо .append (), я бы поставил другой

<option value = "">Select a Product</option>

вверху результата.

Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
1
0
14 468
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Я просто сделал следующее, и все сработало:

<select name = "Products" id = "Products">
<option value = "">Select Product</option>
</select>

<script type = "text/javascript">
$('#Products').append('<option value = "1">test 1</option><option value = "3">test 3</option><option value = "3">test 3</option>');
</script>

Что возвращает ваш сценарий?

Ответ принят как подходящий

Можете ли вы просто изменить свою функцию успеха, чтобы сбросить выбранный элемент до первого варианта?

$("#Products").append(result).selectedIndex = 0;

или установить его на предыдущий выбор?

var tmpIdx = $("#Products").selectedIndex;
$("#Products").append(result).selectedIndex = tmpIdx;

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

$('#field').find('option:first').attr('selected', 'selected').parent('select');

смотри, это сработает

Другие вопросы по теме