2010-09-06 40 views
0

我需要一些幫助,這一點,我試圖生成一些HTML與JavaScript,但總是得到相同的,這是我的javascript代碼我總是得到相同的HTML

var datePickerHTML = function(id){ 
    var html = "<div id='"+id+"' class='ui-datepicker'>"; 
    html += "Hello World, my ID is "+id; 
    html += "</div>"; 
    return html; 
} 

var UhmaCalendar = function(config){ 
    var dpID = 'dp'+config.inputField; 
    this.dpID = dpID; 
    jQuery('#'+config.inputField).after(function(){ 
     return datePickerHTML(dpID); 
}); 
    jQuery('#'+config.btn).click(function(){ 
      jQuery('#'+dpID).toggle('slow'); 
    } 
} 

現在,在我的html我寫

UhmaCalendar({ 
    btn : 'countday_pick', 
    inputField : 'countday' 
}); 
UhmaCalendar({ 
    btn : 'sartday_pick', 
    inputField : 'startday' 
}); 

這是2 diferent輸入和按鍵,但他們總是表現出與相同的文本同一div和ID我檢查HTML任意不等階螢火蟲,只創建一個DIV,廣告,我想2格與不同的ID 我也嘗試與

new UhmaCalendar({ 
    btn : 'sartday_pick', 
    inputField : 'startday' 
}); 

,但都是一樣的,我在做什麼錯在這裏 感謝

+0

引用的代碼中有幾個錯誤導致它不可解析。你得到的任何答案都可能因爲它而有點偏離目標。例如,'jQuery('#'dbID)'是一個語法錯誤(並且還有幾個非語法錯誤)。 – 2010-09-06 15:56:04

+2

您的其他八個問題都沒有收到可接受的答案?沒有? – 2010-09-06 15:56:35

+0

是的,我收到了非常好的回覆,但是,這必須通過我的問題來解決嗎? – 2010-09-06 16:22:44

回答

4

您已在功能datePickerHTML忘記return html;

隨着最新的編輯,我無法重現錯誤。請參閱http://jsbin.com/ucage4以瞭解正確運行的演示。

+0

雖然這是事實,但並不能解釋他的症狀(他確實得到了某些東西)。引用的代碼是如此搞砸,很難說出什麼可能是錯誤的... – 2010-09-06 15:57:12

+0

我要修復我的帖子,我忘了putthat但在這裏在我的代碼是正確的,但再次閱讀我的帖子,這不是問題 – 2010-09-06 15:57:32

+2

@ Kstro21:然後請修復所有的語法錯誤。從一些模糊的症狀和錯誤的代碼中很難猜測出什麼問題。 – kennytm 2010-09-06 16:00:03

1

很難說出什麼問題,所引用的代碼是不可解析的。一些注意事項,可能是有用的:

var datePickerHTML = function(id){ 
    var html = "<div id='"+id+"' class='ui-datepicker'>"; 
    html += "Hello World, my ID is "+id; 
    html += "</div>"; 
    // Should probably have `return html;` here 
} 

var UhmaCalendar = function(config){ 
    this.dpID = 'dp'+config.inputField; 
    jQuery('#'+config.inputField).after(function(){ 
     return datePickerHTML(dpID); 
         // ^-- This symbol is undefined, and != `this.dbID` 
    }); 
    jQuery('#'+config.btn).click(function(){ 
      jQuery('#'dpID).toggle('slow'); 
       // ^-- syntax error (and `dbID` is undefined here too) 
    } // <-- Missing `);` here 
} 

如果我在的意圖猜測:

var datePickerHTML = function(id){ 
    var html = "<div id='"+id+"' class='ui-datepicker'>"; 
    html += "Hello World, my ID is "+id; 
    html += "</div>"; 
    return html; // tjc 
} 

var UhmaCalendar = function(config){ 
    var dpID = 'dp'+config.inputField; // tjc 
    this.dpID = dpID; // tjc 
    jQuery('#'+config.inputField).after(function(){ 
     return datePickerHTML(dpID); 
    }); 
    jQuery('#'+config.btn).click(function(){ 
      jQuery('#'+dpID).toggle('slow'); // tjc 
    }); // tjc 
} 

我懷疑的是,dpID事情(S)是主要的錯誤。我已經通過在封閉函數繼承訪問的函數內創建一個變量(因爲它們是閉包)來解決它。

HTH

+0

我得到了相同的結果,主要的問題是,如果一個呼叫UhmaCalendar函數一次,它的工作完美,但如果我把它兩次,我希望它創建2 diferent格,但只有一個被創建,中碼 – 2010-09-06 16:13:07

+0

你嘗試的代碼進一步下跌,很簡單,請嘗試給一些北 – 2010-09-06 16:19:38

相關問題