2010-06-18 63 views
1

需要將var應用於語句(如果其條件滿足),該語法不會引發錯誤,但不起作用。將var應用於if語句jquery

<script type="text/javascript"> 
$(document).ready(function(){ 
    var action_is_post = false; 
     //stuff here 
    $(this).ready(function() { 
     if ($("#stepDesc0").is(".current")) { 
     action_is_post = true;  
     } 
    }); 
    //stuff here 
</script> 

我應該使用.ready以外的東西嗎?我甚至需要$(this).ready(function()...部分?當#stepDesc0具有類current時,我需要它應用var

$(文件)。就緒(函數(){VAR = action_is_post假; $( 「形式」)提交(函數(){ action_is_post = TRUE; }); 如果($( 「#stepDesc0」)爲( 「電流」)){VAR = action_is_post真實; } window.onbeforeunload = confirmExit;! 功能confirmExit(){ 如果 (action_is_post) 回報「使用瀏覽器返回,刷新或關閉按鈕將導致您丟失所有表單數據,請使用表單上的Next和Back按鈕。'; } });

回答

2
<script type="text/javascript"> 
    $(document).ready(function(){ 
    var action_is_post=$("#stepDesc0").is(".current"); 
    }); 
</script> 

如果您希望變量是$(document).ready(function(){...外部訪問,那麼你就需要聲明它的語句外這樣的:

<script type="text/javascript"> 
    var action_is_post; 

    $(document).ready(function(){ 
    action_is_post=$("#stepDesc0").is(".current"); 
    }); 
</script> 

HTML(爲了測試它):

<a href="javascript:alert(action_is_post);">Show value</a> 
+0

應該已經發布了所有代碼。它與表單嚮導有關,我已經禁用了提交函數的onbeforeunload,現在我需要在嚮導的第一步中禁用它。 – 2010-06-18 02:21:05

+0

<腳本類型= 「文本/ JavaScript的」> $(文件)。就緒(函數(){ VAR action_is_post = FALSE; $( 「表」)提交(函數(){ action_is_post =真; } ); \t \t $(本)。就緒(函數(){ \t \t如果($( 「#stepDesc0」)是()。 「電流」。){ \t \t action_is_post = TRUE;} } ); \t \t window.onbeforeunload = confirmExit; function confi rmExit() if(!action_is_post) return'使用瀏覽器,刷新或關閉按鈕將導致您丟失所有表單數據。請使用表單上的Next和Back按鈕。 } }); – 2010-06-18 02:23:37

+0

對不起,我似乎無法格式化此代碼 – 2010-06-18 02:24:10

0
$(function() { 
    var actionIsPost = $('#stepDesc0').is('.current'); 
    alert(actionIsPost); 
}); 

如果要添加的current類到event上的#stepDesc0,然後將.is檢入到事件處理程序中。