Jquery plugins 是否有用于列表排序的jQuery插件?
是否有一个jQuery插件允许根据作为隐藏元素存储的元数据对项目列表(Jquery plugins 是否有用于列表排序的jQuery插件?,jquery-plugins,Jquery Plugins,是否有一个jQuery插件允许根据作为隐藏元素存储的元数据对项目列表(..)进行排序?例如,每个列表项都有两个隐藏输入:author和year。我想使用这些隐藏元素对列表进行排序。我想知道jQuery是否有现成的插件。到目前为止,我还没有找到这样的插件。我唯一找到的是表格排序 <ul> <li>Position 1 <input type="hidden" name="author" value="Peter"/> <input ty
..
)进行排序?例如,每个列表项都有两个隐藏输入:author
和year
。我想使用这些隐藏元素对列表进行排序。我想知道jQuery是否有现成的插件。到目前为止,我还没有找到这样的插件。我唯一找到的是表格排序
<ul>
<li>Position 1
<input type="hidden" name="author" value="Peter"/>
<input type="hidden" name="year" value="2004"/>
</li>
<li>Position 2
<input type="hidden" name="author" value="John"/>
<input type="hidden" name="year" value="2005"/>
</li>
<li>Position 3
<input type="hidden" name="author" value="Tony"/>
<input type="hidden" name="year" value="2006"/>
</li>
</ul>
- 位置1
- 位置2
- 位置3
给你:
<ul>
<li>Position 1
<input type="hidden" name="author" value="Peter"/>
<input type="hidden" name="year" value="2004"/>
</li>
<li>Position 2
<input type="hidden" name="author" value="John"/>
<input type="hidden" name="year" value="2005"/>
</li>
<li>Position 3
<input type="hidden" name="author" value="Tony"/>
<input type="hidden" name="year" value="2006"/>
</li>
</ul>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<script type="text/javascript">
jQuery.fn.sort = function() {
return this.pushStack( [].sort.apply( this, arguments ), []);
};
function mySorter(a,b){
return $(a).find("[name=author]").val() > $(b).find("[name=author]").val() ? 1 : -1;
};
$(document).ready(function(){
$('ul li').sort(mySorter).appendTo('ul');
})
</script>
- 位置1
- 位置2
- 位置3
jQuery.fn.sort=函数(){
返回这个.pushStack([].sort.apply(这个,参数),[]);
};
函数mySorter(a,b){
返回$(a).find(“[name=author]”).val()>$(b).find(“[name=author]”).val()”?1:-1;
};
$(文档).ready(函数(){
$('ul li').sort(mySorter).appendTo('ul');
})
我改编自:
编辑:修复了val()和“ul”的错误。请注意,“ul”代表“无序列表”:DHah,这是真的。但是,从项目编号的角度来看,此列表未排序;-)@兰斯~干得好,我无意中碰到了这件事,它的效果和预期的一样好!