2013-01-15 54 views
0

我在外部.js文件中有一小段腳本無法運行。下面是該腳本:外部.js文件中的jQuery腳本沒有觸發

$(document).ready(function() { 
    $('#chkAllTracts').change(function() { 
     alert("fired"); 
    }) 
}); 

我已經在使用一些jQuery和他們都做工精細同一.js文件一些其他的功能,但是這是第一個jQuery的我已經嘗試此語法中使用:

$(document).ready(function(){ } 

我想要做的就是在複選框更改(選中或取消選中)時打開警報。複選框元素「chkAllTracts」是在調用該函數之前使用jQuery動態添加的。

+0

你可以將它簡化爲'$(function(){...});'。這對我來說總是有效的。 – Malvolio

回答

0
$('#checkbox1').mousedown(function() { 
    if (!$(this).is(':checked')) { 
     alert("test") 
    } 
}); 

這樣的事情? (編輯)

+1

你讀過這個問題了嗎? – gdoron

+0

@imbask - 感謝您的回覆。我的問題應該更清楚。 mousedown選項不適用於我,因爲複選框不會總是被點擊。有時,選中/未選中狀態將以編程方式發生。但是,再次感謝您花時間協助我,我感謝您的考慮! –

0

這爲我工作:

$(document).ready(function(){ 
    $("body").append( 
    $("<input>") 
     .attr("type", "checkbox") 
     .change(function(){ alert("It works!"); })) 
}); 

當文檔準備好它的主體包括設置火災警報消息更改事件的複選框輸入。

0

這是因爲你的元素被動態添加到DOM。當jQuery首次初始化時,jQuery選擇器不會抓住它。你需要做的是

$('body').find('#chkAllTracts').change(function() { 
    alert("fired"); 
}); 

我認爲應該解決你的問題。