我的页面有两列。播放器1的 Column1 ,播放器2的 column2 。 对于每一列,我都有一个下拉列表来选择其中一个玩家。
使用一些ajax en php代码我会返回每个玩家的下载信息。例如:
Col1 :汤姆,足球:8分篮球:5分
Col2 :Jonathan,足球:4分篮球:9分
现在我想让用户对结果进行排序:所以我在每列中添加了另一个下拉列表:
PHP
echo "<select id='filter_class' name=\"filter\"
data-userid=\"".$user_id."\" onchange=\"getFilter(this.value)\">
<option value=\"all\">All</option>
<option value=\"asc\">Asc</option>
<option value=\"desc\">Desc</option>
</select>";
AJAX
function getFilter(filter)
{
var user_id = document.getElementById('filter_class').getAttribute('data-userid');
console.log(user_id);
$.ajax({
type: "GET",
url: 'http://website.com',
data: {action: filter, user_id: user_id},
success: function (result) {
$("#Target").html(result);
}
});
}
如您所见,下拉菜单使用 user_id 和选项值对结果进行排序。
此代码仅适用于1列,因为他使用第一个user_id保留( Ofcourse )。例如,当我尝试对第二个结果进行排序时,他会对第一个user_id(Normal)的结果进行排序。
我希望 SORT DROPDOWN 在同一列中使用播放器的 user_id 选择。
重要
我希望在页面上显示两个结果后使用排序选项。
答案 0 :(得分:2)
您需要使用不同的ID创建SORT下拉列表。我们假设您有id='filter_class1'
和id='filter_class2'
的身份证明。
现在您需要将调用下拉列表的ID传递给getFilter()
函数。
onchange=\"getFilter(this.value, this.id)\"
getFilter()
函数的前几行应如下所示:
function getFilter(filter, eleId)
{
var user_id = document.getElementById(eleId).getAttribute('data-userid');
console.log(user_id);
...
答案 1 :(得分:0)
只能有一个带有一个id的元素。
您可能希望将class属性与data属性一起使用。 使用jquery的类选择器。
看看这个例子。
void free_all(node* curs)
{
int i;
// recursive case (go to end of trie)
for (i = 0; i < 27; i++)
{
if (curs->children[i] != NULL)
{
free_all(curs->children[i]);
}
}
// base case
free(curs);
}