我有以下HTML代码:
<div class="ranges">
<ul>
<li>Op 1</li>
<li>Op 2</li>
<li>Op 3</li>
<li>Op 4</li>
<li>Op 5</li>
<li>Op 6</li>
<li>Op 7</li>
</ul>
我需要通过点击op 1,op 2,op 3,op 4,op 5,op 6提交表单。换句话说,最后li
,无法提交表单。
`在这个代码我试图实现这一点:
gData.on('click', '.ranges ul li', function(e){
gFilter.find('form').submit();
});
但是这个.ranges ul li
会获得所有li
。我怎么能忽略最后一个呢?
答案 0 :(得分:8)
gData.on('click', '.ranges ul li:not(:last)', function(e){
gFilter.find('form').submit();
});
$('body').on('click', '.ranges ul li:not(:last)', function(e){
alert('clicked');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="ranges">
<ul>
<li>Op 1</li>
<li>Op 2</li>
<li>Op 3</li>
<li>Op 4</li>
<li>Op 5</li>
<li>Op 6</li>
<li>Op 7</li>
</ul>
&#13;
答案 1 :(得分:4)
这应该有效:
gData.on('click', '.ranges ul li:not(:last-child)', function(e){
gFilter.find('form').submit();
});
答案 2 :(得分:2)
您可以在jQuery中使用:not(:last)
函数。
gData.on('click', '.ranges ul li:not(:last)', function(e){
gFilter.find('form').submit();
});
答案 3 :(得分:0)
使用:
gData.on('click', '.ranges ul li', function(e){
if ( !$(this).is(':last-child') ) { //if this is not last child
gFilter.find('form').submit(); //execute submit
}
});