动态ajax / php选择标签

时间:2016-01-29 23:43:27

标签: javascript php jquery html ajax

晚上好, 我在标题中已经说过我的动态选择的东西,我遇到了一个小问题。我的目标是达到以下结果: 如果有人从第一个选择标签中选择一个乐器,另一个名为“Besetzung”的标签应该过滤播放所选乐器的用户列表,对于第二个选择标签,如 screenshot (乐器=乐器; E-Bass =电贝司; 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中使用它来改变每一个元素......我不知道如何给每个选择标记一个唯一的ID,因为标记的数量将会有人使用网站时更改。

我希望你理解我的意思,对我来说有点难以解释。 感谢您提前提供任何帮助。

2 个答案:

答案 0 :(得分:0)

您通常会对所涉及的所有元素使用通用类。

然后在更改事件中,您可以获取已更改的select类的特定实例,并使用该实例遍历相应的其他选择以弹出

重复结构

<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')});
});

答案 1 :(得分:0)

所以你有两个选择列表,第二个列表取决于第一个选择的列表。这是调查问卷中非常常见的任务。

你做的第一件事是通过ajax更改第二个选择列表,通过第一个选择列表中的更改来触发吗? (没关系)

所以你基本上需要的是返回2d选择列表的html的php(服务器端代码)。不是吗?

无论如何,我们需要的是第一个列表中每个选项的选项列表。如果需要,该信息应该在表或数组中作为服务器端。

如果您为第一个列表的每个选项提供选项列表,那么我或其他人可以帮助您使用php。