2012-03-21 166 views
0

以下是我無法正常工作的腳本。 它的目的是檢查複選框是否被選中,然後調用第二 例程響應,依賴於將selectedIndex(SINDEX)被證明當什麼我原來叫腳本如何將變量從一個腳本傳遞到另一個腳本

<script type="text/javascript"> 
function checkB(ctrl,sindex) { //get the state of the check box 
var sindex = { 
    0: 0, 
    1: 1, 
    2: 2, 
    3: 3 
}; 


if (ctrl.checked == true) { 
return function(which) { 
replaceContentmainobjectOn(sindex [which]); 
} else {  
if (ctrl.checked == false) { 
replaceContentmainobjectOff(); 
} 
} 
} 
</script> 

這裏那個叫

var replaceContentmainobjectOn =(function() { 
var info = { 
    0: 2, 
    1: 1, 
    2: 2, 
    3: 3 
}; 

    return function(which) { 
    document.getElementById('ecwid-productoption-8840317-mainobject').selectedIndex = (info[ which ]) ; 
}; 

}()) 

這第二個腳本是什麼我打電話的第一個例程與

onclick="checkB(this,sindex); 
+0

你能用http://jsfiddle.net這樣的工具提供你的問題的完整工作演示嗎?另外你爲什麼要返回'函數'對象? – mellamokb 2012-03-21 18:41:12

+1

您發佈的第一個腳本無效。 – CAbbott 2012-03-21 18:44:30

+0

這裏的耳朵非常潮溼.. 我需要能夠提供VAR信息的第二個例程,當我從第一個來電時。你是怎樣做的?全局變量.... 作爲一個noobie這是非常困惑 – 2012-03-21 19:05:09

回答

2

兩個獨立的<script>塊共享相同的執行範圍,即全局範圍。在另一個<script>內的全局範圍內創建的所有變量都可以訪問。

<script> 
    var a = 5; 
</script> 

<script> 
    alert(a); 
</script> 

同樣適用於功能。

<script> 
    var b = function(c){ return c; } 
</script> 

<script> 
    alert(b(12)); 
</script> 

你可以排除,你的問題似乎在第一個腳本,這不是語法上有效。

+0

謝謝..這就是我想弄清楚... 也許我可以開發一個例程,將利用這個概念.. – 2012-03-23 02:07:34

相關問題