2010-09-06 42 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

相关问题