我有一個腳本,當一個複選框被選中時顯示一個值,並且在選中多個複選框時不顯示任何值。jQuery:多個複選框,獲取唯一被選中的值
這是工作的一點。 如果我選擇一個複選框,我會得到與其最接近的值class=list
,如果我點擊第二個複選框,我什麼也沒有得到,這是正確的。
但是,當我取消選擇第二個複選框時,警報顯示它的值不是最後一個選中複選框的值。
那麼如何獲得唯一選中複選框的值?
這是複選框的佈局,這是最近的class list
<tr>
<td>1</td><td><input type='checkbox' name='id[0]' id='0'/></td>
<td class='list'><span>1234</span></td>
<td><span></span></td>
</tr>
這是jQuery的我使用:
$(document).ready(function() {
var count;
$(':checkbox').change(function() {
count = ($('input[type="checkbox"]:checked').length) ;
txt = $(this).closest('tr').find('.list').text();
if (count == "1") {
alert (txt)
}
});
});
下面是一個的jsfiddle顯示問題:http://jsfiddle.net/f7qcuwkf/ 如果您檢查選項1的警報顯示1234.
如果您檢查選項3則沒有顯示(這是正確的)如果您不選中無論是哪種選項,您都會看到它的值,而不是剩餘的檢查條目的值。 EG ::
不選3,我得到3456,而不是1234(1仍選中)
任何想法如何解決這個問題?
感謝
當然,如果你遍歷與'this'的DOM,你會得到改變複選框的vaue。您需要使用複選框遍歷DOM:http://jsfiddle.net/f7qcuwkf/2/ –
@ Karl-AndréGagnon感謝您的快速回復。如果你發佈這個答案,我會接受它。 – JeffVader