Мне нужен какой-то совет с функцией 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()
Выберите значение элемента [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) {
...
}
Других решений пока нет …