簡體   English   中英

動態ajax / php選擇標簽

[英]Dynamic ajax/php select tag

晚上好,我在動態選擇中遇到了一個小問題,如標題中所述。 我的目標是達到以下結果:如果有人從第一個選擇標簽中選擇了一種樂器,則另一個名為“ Besetzung”的標簽應過濾播放所選樂器的用戶列表,第二個選擇標簽如屏幕截圖所示(樂器=樂器;電子低音=電貝司; Besetzung =職業; Offen =打開)

到目前為止,這個工作正常。 但是我的問題是,我得到了3到10個這樣的藍色框(截圖)。 您可以在按鈕上手動添加這些框。 而且每個單獨的盒子都應包含這些“單獨的”選擇標簽...因此,每次添加一個盒子時,我需要為每個選擇標簽提供唯一的ID之類的東西。 到目前為止,這是我用於動態選擇的功能:

function fetch_select(val)
{
    $.ajax({
     url: 'get_data.php',
     type: 'POST',
     data: {
        get_option:val.value
     },
     success: function (response) {
       document.getElementById("studentSelect").innerHTML=response; 
     }
  });
}

如果函數執行成功,則ID為“ studentSelect”的元素將被更改。 但是我需要的是一個類似數組的東西,在我的html,php和ajax中使用它來更改每個元素...我不知道如何給每個單獨的select標簽一個唯一的ID,因為標簽的數量會在有人使用網站時進行更改。

希望您理解我的意思,對我來說有點難以解釋。 感謝您的任何幫助。

通常,您將對所有涉及的元素使用一個通用類。

然后,在更改事件中,您可以獲取已更改的選擇類的特定實例,並使用該實例遍歷到相應的其他選擇以進行填充

重復結構

<div class="row">
   <select class="select-1"></select>
   <select class="select-2"></select>
</div>

JS

$(document).on('change', '.select-1', function(){
   // traverse to closest row, then look within that row for matching select
   var $otherSelect = $(this).closest('.row').find('.select-2');
    $otherSelect.load('get_data.php', {get_option: this.value})
            .fail(function(){ alert('Oops something went wrong')});
});

因此,您有兩個選擇列表,第二個選擇列表取決於第一個選擇的列表。 這是問卷調查中非常常見的任務。

您所做的第一件事是通過ajax更改第二個選擇列表,通過更改第一個選擇列表來觸發嗎? (那也行)

因此,您基本上需要的是返回2d選擇列表html的php(服務器端代碼)。 是不是

無論如何,我們這里需要的是第一個列表中每個選項的選項列表。 如果需要,該信息應以表或數組的形式進入服務器端。

如果您為第一個列表的每個選項提供選項列表,那么我或其他人可以為您提供PHP幫助。

暫無
暫無

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

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