javascript — используйте ajax для передачи значения выбранного раскрывающегося списка в качестве аргумента функции в другом раскрывающемся списке.

Мне нужен какой-то совет с функцией ajax, которую я создаю, и до сих пор не смог понять это.
Итак, я выбрал order_by выпадающий, который использует функцию AJAX называется searchFilter изменить this.value которая является переменной с именем $orderr_by:

<select name="order_by"onchange="searchFilter('0',
'<?php echo $maxRows;?>',
this.value);">

У меня есть другой выбор condition выпадающий, который вызывает то же самое searchFilter функционировать и должен получить новый $orderr_by аргумент, когда событие onchange инициируется для order_by падать.

Ниже я получил его для трех статических аргументов, но мне нужно, чтобы он работал, когда $orderr_by аргумент изменен:

<select name="condition" id="condition"onchange="searchFilter('<?php echo $pageNum;?>',
'<?php echo $maxRows;?>',
'<?php echo $orderr_by; ?>');">

Мой Axaj выглядит так:

function searchFilter(pageNumbr,maxRows,order_by) {

var filter  = jQuery.noConflict();

filter.post(
MYSURL+'ajaxphp/searchFilters.php?page_no='+pageNumbr+'&max_rows='+maxRows+'&order_by='+order_by,
filter('#filterFrm').serialize(),

function(html){
arrHtml = html.split('<####>');
filter('#resultContainer').html(arrHtml[0]);
}
);

} // function searchFilter()

0

Решение

Выберите значение элемента [name = order_by].

В чистом JS вы делаете это следующим образом:

var element = document.getElementById("order_by");
var order_by = element.options[element.selectedIndex].value;

У jQuery есть более чистые способы сделать это.

Вам не нужен order_by в объявлении функции. Если вам по какой-то причине нужно передать order_by из другого кода, вы должны убедиться, что order_by еще не определен:

if (order_by === undefined) {
...
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]