簡體   English   中英

使用ajax將所選下拉列表的值作為參數傳遞給另一個下拉列表中的函數

[英]Use ajax to pass the value of selected dropdown as an argument to a function in another dropdown

我需要一些我正在構建的Ajax函數的建議,到目前為止還無法弄清楚。 所以我選擇了order_by下拉列表,該下拉列表使用一個名為searchFilter ajax函數來更改this.value ,這是一個名為$orderr_by的變量:

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

我還有另一個選擇condition下拉菜單,它調用相同的searchFilter函數,並且在為order_by下拉菜單觸發onchange事件時,應該獲取新的$orderr_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) {
   ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM