晚上好, 我在标题中已经说过我的动态选择的东西,我遇到了一个小问题。我的目标是达到以下结果: 如果有人从第一个选择标签中选择一个乐器,另一个名为“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,因为标记的数量将会有人使用网站时更改。
我希望你理解我的意思,对我来说有点难以解释。 感谢您提前提供任何帮助。
答案 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。