2012-12-21 184 views
1

我正在嘗試使用一組文本框來定義JavaScript文件中的一些數據。因此,在文本框中輸入團隊名稱「團隊名稱」,JavaScript文件使用此文本框存儲團隊的名稱以便打印一組比賽括號。點擊按鈕後加載javascript文件

JavaScript文件包含在我的<head>所以它加載之前,我實際上已經進入了文本框中的數據。我有一個按鈕,這個代碼在HTML像這樣:

script(type='text/javascript') 
    $('#buttontest').click(function() { 
     $('div.bracket').show(); 
     $('div.teamList').hide(); 
    }); 

所以按下按鈕時,文本框都被隱藏,並與用戶定義的隊名括號應該出現在這裏....在我的javascript文件的末尾代碼:

$(function() { 
    $('#singleElim8').bracket({ 
     init: singleElim8Data 
    }) 
    $('.bracket').hide(); 
}); 

所以div.bracket內我有類#singleElim8該JavaScript使用。但是,我將如何改變它,以便這個JavaScript初始化括號只運行一次按鈕被點擊?這種方式括號渲染後文本框已被填寫。任何幫助表示讚賞。

+1

您可以在一個功能包,然後致電click事件內部的功能..或移動點擊裏面的代碼事件 –

回答

8

只需使用getScript method of jQuery

它非常容易使用

$('#buttontest').on('click', function() { 
    $.getScript('url to your js file', function(data, textStatus, jqxhr) { 
     // do some stuff after script is loaded 
    }); 
}); 
+1

謝謝,代碼現在完美工作。 – germainelol

+0

不適合我... https://jsfiddle.net/uvyetrcb/2/ – marius

3

當你將一個函數作爲參數傳遞給jQuery的它會在的document.ready執行該功能()。它允許你的頁面在執行之前加載所有的腳本。

$(function() { 
    $('#buttontest').click(function() { 
     $('div.bracket').show(); 
     $('div.teamList').hide(); 
    }); 

    $('#singleElim8').bracket({ 
     init: singleElim8Data 
    }) 
    $('.bracket').hide(); 
}); 
+0

這沒有奏效,我只得到其中前的文本框,甚至已在 – germainelol

+0

硬充滿給定的,我們不能看到正在使用的實際代碼更多的信息的JavaScript已經跑了一個空白的隊名。你有一個可以說明問題的jsfiddle嗎? –