嗨我有一些jquery複選框選中的問題。我想在選中複選框時執行任務。我的代碼是這樣的jquery chekbox選擇
$(document).ready(function() {
if ($('#chxGetText').is(':checked')) {
alert("OK");
}
});
<input id="chxGetText" type="checkbox" />
但是,當我檢查複選框時沒有任何事情發生。有任何想法嗎?
嗨我有一些jquery複選框選中的問題。我想在選中複選框時執行任務。我的代碼是這樣的jquery chekbox選擇
$(document).ready(function() {
if ($('#chxGetText').is(':checked')) {
alert("OK");
}
});
<input id="chxGetText" type="checkbox" />
但是,當我檢查複選框時沒有任何事情發生。有任何想法嗎?
:checked
只是一個選擇,它不綁定任何事件偵聽器。做這樣的事情:
$(document).ready(function() {
$('#chxGetText').change(function (e) {
if($(this).is(':checked')) {
alert('Checked');
}
else {
alert('Unchecked');
}
});
});
<input id="chxGetText" type="checkbox" />
您需要將事件偵聽器綁定到複選框的更改事件。現在,您只會檢查是否在頁面加載時檢查複選框,即一次。
$(function() {
$('#chxGetText').change(function() {
if ($(this).is(':checked')) {
alert('OK');
} else {
alert('Not OK');
};
}).trigger('change'); // trigger it on page load as well
});
請注意,你應該觸發頁面加載時爲好,如果用戶選中複選框(因此.trigger('change')
在我的代碼)後刷新頁面。
大碼馬蒂亞斯代碼,我將使用這個其他網頁,我得到 – 2010-04-15 07:13:51
你沒有分配一個事件的元素,試試這個:
$(document).ready(function() {
$('#chxGetText').click(function(){
if ($(this).is(':checked')) {
alert("OK");
}
});
});
這將工作過程中,對.trigger fosho,但它可能是一個好主意執行此檢查頁面加載以及:http://stackoverflow.com/questions/2643266/2643275#2643275 – 2010-04-15 07:04:20
感謝您的工作很好 – 2010-04-15 07:06:57
@ Dejan.S:歡迎您....... :) – Sarfraz 2010-04-15 07:33:35
您需要爲複選框的onclick
事件分配事件處理程序。當前的代碼只運行一次,當文檔被加載時,並且在此之後不會對任何狀態更改做出反應。
<input id="chxGetText" type="checkbox" />
function checkState(node) {
if (node.checked) {
alert("OK");
}
}
$(document).ready(function() {
$('#chxGetText').click(function() {
// Bind checkState to click event
checkState(this);
}).each(function() {
// Initial check on load
checkState(this);
});
});
使用jQuery和沒有突兀的JavaScript? – Sarfraz 2010-04-15 07:00:51
你說得對,我應該(或者至少可以)完全在這個解決方案中跳過jquery。我只是試圖說明爲什麼最初的解決方案沒有按預期工作。 – 2010-04-15 07:07:27
錯誤,不 - 你應該使用不引人注目的JavaScript。 jQuery與否。 – 2010-04-15 07:26:15
您可以像使用
jQuery("#chxGetText").click(function() {
if ($(this).is(':checked')) {
alert("#chxGetText is checked");
}
else {
alert("#chxGetText is unchecked");
}
});
你正在使用'function(e)',但你沒有使用'e'。爲什麼不省略它? – 2010-04-15 07:03:31
我用這個刪除了Mathias Bynens的評論。不是那個代碼煩擾了,因爲它沒有被使用。謝謝 – 2010-04-15 07:13:04
@Mathias:我可能會在我自己的代碼中,除非我想檢查或調用事件對象的方法。只是想表明事件處理程序傳遞了一個事件對象。 – PatrikAkerstrand 2010-04-15 07:36:49