2013-04-03 102 views
0

所以我創建一個谷歌自定義搜索,有一個複選框,當選中時,將導致使用不同的谷歌自定義搜索,這裏是代碼即時通訊使用,這裏是我的問題。我不知道腳本是否在我搜索時運行,因此沒有得到新的改變。所以當我檢查框時,我想讓腳本重新運行,但我也是什麼腳本來加載運行。運行腳本加載和更改

<script> 
    (function() { 
    if (jQuery('#sota').is(':checked')) {var cx = '001285214241856463016:s82pvcctjhm';} else {var cx ='001285214241856463016:zrd6kn8chti';} 
     var gcse = document.createElement('script'); 
     gcse.type = 'text/javascript'; 
     gcse.async = true; 
     gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//www.google.com/cse/cse.js?cx=' + cx; 
     var s = document.getElementsByTagName('script')[0]; 
     s.parentNode.insertBefore(gcse, s); 
    })(); 
    </script> 
    <form class="sech"> 
     <input id="sota" type="checkbox" name="vehicle" value="Bike">Search Only Technologies Available For Licensing 
    </form> 
    <gcse:search></gcse:search> 
+0

一點兒也不,如果你運行一個複選框的變化事件的功能運行。一旦外部腳本被加載,你不能刪除它? – adeneo

+0

可以通過下面的更新值再次運行腳本來覆蓋它嗎? – Zackskeeter

回答

0

要在負載運行的函數:

window.onload = function() { 
    //do stuff 
} 

要在真正的問題選中複選框

<input id="sota" type="checkbox" name="vehicle" value="Bike" onchange="chgFn(this)"> 
<script> 
function chgFn(chkBox) { 
    if(chkBox.checked){ 
     //do stuff 
    } 
} 
</script> 
+0

謝謝!如此快速和簡單,就像一個魅力 – Zackskeeter