2011-05-04 63 views
1

我使用此代碼,當用戶點擊一個複選框jQuery來禁用複選框,點擊下拉菜單,插入TRUE/FALSE值

function onCheckChange() { 
    if ($("#all_day_checkbox").is(':checked')) 
    $("#evt_time_drop").attr('disabled', 'disabled'); 
    else 
    $("#evt_time_drop").removeAttr('disabled'); 
} 

$("#all_day_checkbox").click(onCheckChange).change(onCheckChange); 

這工作得很好,以禁用下拉列表。但我想添加一條指令,將truefalse的值注入複選框,以便將其存儲在數據庫中。

不幸的是,這並不工作:

function onCheckChange() { 
    if ($("#all_day_checkbox").is(':checked')) 
    $("#evt_time_drop").attr('disabled', 'disabled'); 
    $("#all_day_checkbox").val("TRUE"); 
    else 
    $("#evt_time_drop").removeAttr('disabled'); 
    $("#all_day_checkbox").val("FALSE"); 
} 

$("#all_day_checkbox").click(onCheckChange).change(onCheckChange); 

任何人有任何建議去上班?

感謝您的幫助!

回答

2

試試這個片斷:

$("#all_day_checkbox").val("FALSE");//For initially make the `checkbox` value FALSE 

function onCheckChange() { 
    if ($("#all_day_checkbox").is(':checked')) { 
     $("#evt_time_drop").attr('disabled', 'disabled'); 
     $("#all_day_checkbox").val("TRUE"); 
    } else { 
     $("#evt_time_drop").removeAttr('disabled'); 
    } 
} 
$("#all_day_checkbox").click(onCheckChange).change(onCheckChange); 
+0

感謝@abdullah - 這很好地工作 - 仍然需要把'$(「#all_day_checkbox」).val(「FALSE」);'inside 'else'或這隻會在複選框上點擊一次 – pepe 2011-05-04 03:49:47

+0

@torr感謝隊友。我很高興它適合你。 – thecodeparadox 2011-05-04 04:32:14

2

什麼

$("#all_day_checkbox").attr("checked", "") //for removing the check 
$("#all_day_checkbox").attr("checked","checked") //for checking the box 

然後只是檢查,看看是否 「選中」 值等於 「檢查」 ...

+0

感謝@thomas - 我應該在哪裏插入你的線?我嘗試在OP中代替第二個代碼塊的第4行和第7行,但沒有工作 – pepe 2011-05-04 03:39:51

0
function onCheckChange() { 
if ($("#all_day_checkbox").is(':checked')){ 
    $("#evt_time_drop").attr('disabled', 'disabled');  
    $("#all_day_checkbox").val("TRUE"); 
} 
else 
{ 
    $("#evt_time_drop").removeAttr('disabled'); 
    $("#all_day_checkbox").val("FALSE"); 
} 
}