點擊事件中的代碼:的jQuery/JavaScript的:在一個複選框和「檢查」屬性
$('input.media-checkbox').live('click', function(e){
e.preventDefault();
var that = $(this);
if (that.attr('checked') == 'checked'){
var m = that.attr('media');
var mid = 'verify_' + m;
that.parents('div.state-container').find('ul.' + mid).remove();
that.attr('checked', false);
} else {
var url = AJAX_URL;
$.ajax({
type: 'GET',
url: url,
dataType: 'html',
success: function(data){
that.parents('li').siblings('li.verification').children('div.media-verification').append(data).fadeIn(500);
that.attr('checked', 'checked');
}
});
}
return false;
});
我ajaxing的形式,然後在相應的複選框中點擊事件觸發阿賈克斯在另一部分如果有必要。該表單插入得很好,點擊事件被觸發,檢查需要檢查的框並觸發第二個Ajax,因爲複選框的checked
屬性最初爲false
。
什麼凝乳我的奶酪是如果我不檢查其中一個盒子。儘管e.preventDefault()
,checked
屬性在測試之前設置爲false
,因此if
語句始終執行else
語句。我也試過$.is(':checked')
,所以我完全感到困惑。
看來,未選中 - >檢查狀態讀取原始狀態,但選中 - >未選中不檢查。任何幫助?
你試過'返回false;'而不是'e.preventDefault'嗎?另外,您是否使用過函數(e){e = e ||事件; ''? – 2010-05-07 04:37:48
'return false',是的 - 它在代碼的末尾。它應該在'if'關閉中嗎?我對代碼的第二部分不熟悉......它有什麼用途? – 2010-05-07 04:42:28
第二位是檢查'e'是否爲非空值,如果不是則賦值給全局'事件'變量。 – 2010-05-07 04:44:38