jquery對錶單操作2

來源:互聯網
上載者:User

checkbox的級聯效果
複製代碼 代碼如下:
<form>
你愛好的運動?<br/>
<input type="checkbox" id="CheckedAll" />全選/全不選<br/>
<input type="checkbox" name="items" value="足球"/>足球
<input type="checkbox" name="items" value="籃球"/>籃球
<input type="checkbox" name="items" value="羽毛球"/>羽毛球
<input type="checkbox" name="items" value="乒乓球"/>乓球球
<input type="button" id="send" value="提 交"/>
$('#CheckedAll').click(function(){
$('[name=items]:checkbox').attr("checked", this.checked);
})

當單擊id為"CheckedAll"的複選框後,複選框組將被選中,當在複選框組中取消某一個選項的選中狀態時,id為"CheckedAll"的複選框並沒有被取消選中狀態。
為解決這個問題:
複製代碼 代碼如下:
$('[name=items]:checkbox').click(
function(){
var flag = true;
$('[name=items]:checkbox').each(function(){
if(!this.checked)
flag = false;
});
$('#CheckedAll').attr('checked', flag);
})
//或者可以用複選框的總數與選中複選框數量相等
$('[name=items]:checkbox').click(
function(){
var $tmp = $('[name=items]:checkbox');
//使用filter方法篩選出複選框,並直接給CheckedAll賦值
$('#CheckedAll').attr('checked', $tmp.length == $tmp.filter(':checked').length);
})

下拉框的應用
複製代碼 代碼如下:
<div class="content">
<select multiple id="select1" style="width:100px;height:100px;">
<option value="1">選項1</option>
<option value="2">選項2</option>
<option value="3">選項3</option>
<option value="4">選項4</option>
<option value="5">選項5</option>
<option value="6">選項6</option>
<option value="7">選項7</option>
</select>
<div>
<span id="add">選中添加到右邊</span>
<span id="add_all">全部添加到右邊</span>
</div>
</div>
<div class="content">
<select multiple id="select2" style="width:100px;height:100px;">
</select>
<div>
<span id="add">選中添加到左邊</span>
<span id="add_all">全部添加到左邊</span>
</div>
<div>
//將選中的選項添加給對方
$('#add').click(function(){
var $options = $('#select1 option:selected');//擷取選中的選項
$options.appendTo('#select2');//追加給對方
});
//將全部的選項添加給對方
$('#add').click(function(){
var $options = $('#select1 option');//擷取選中的選項
$options.appendTo('#select2');//追加給對方
});
//雙擊某個選項添加給對方
$('#select1').dblclick(function(){
var $options = $('option:selected',this);//擷取選中的選項
$options.appendTo('#select2');//追加給對方
})

PS: $('option:selected',this),$()有2個參數,一個是選取器,一個是範圍。相當於$('#select1 option:selected')

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.