我需要一些关于我正在构建的ajax函数的建议,并且到目前为止尚无法解决这个问题。
所以我选择了order_by
下拉列表,它使用名为searchFilter
的ajax函数来更改this.value
,这是一个名为$orderr_by
的变量:
<select name="order_by"
onchange="searchFilter('0',
'<?php echo $maxRows;?>',
this.value);">
我有另一个select condition
下拉列表调用相同的searchFilter
函数,并且当$orderr_by
下拉列表触发onchange事件时,应该获取新的order_by
参数。 / p>
下面我已经让它工作了三个静态参数,但我需要在$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 :(得分: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) {
...
}