Jquery 如何使用textbox有条件地附加/分离引导日期选择器

Jquery 如何使用textbox有条件地附加/分离引导日期选择器,jquery,twitter-bootstrap,datepicker,Jquery,Twitter Bootstrap,Datepicker,我的目标是使用textbox动态附加/分离引导日期选择器。基于drowdown值,我想用textbox附加/分离引导日期选择器。我试过下面的方法,但它不起作用…我错过了什么 文本 日期 var$htmlelement=$; var isDate=0; $document.readyfunction{ SetUPUI; $dddata.changefunction{ SetUPUI; }; }; 功能设置界面{ 如果$'dddata'.val==日期{ 警惕‘pp’; $'datetimepick

我的目标是使用textbox动态附加/分离引导日期选择器。基于drowdown值,我想用textbox附加/分离引导日期选择器。我试过下面的方法,但它不起作用…我错过了什么

文本 日期 var$htmlelement=$; var isDate=0; $document.readyfunction{ SetUPUI; $dddata.changefunction{ SetUPUI; }; }; 功能设置界面{ 如果$'dddata'.val==日期{ 警惕‘pp’; $'datetimepicker1'。追加$HtmleElement; $'datetimepicker1'。日期选择器{ 自动关闭:是的, 格式:年月日 }; }否则{ $datetimepicker1.删除$HtmleElement; $'datetimepicker1'。日期选择器'remove'; } } 显示此错误的浏览器控制台 jquery-1.9.1.js:4370未捕获类型错误:expr.replace不是 作用 位于Function.Sizzle.matchesSelector VM235 jquery-1.9.1.js:4370 在Function.filter VM235 jquery-1.9.1.js:5757 在init.remove VM235 jquery-1.9.1.js:5986 在SetUPUI索引:87 在HTMLDocument。索引:68 着火时VM235 jquery-1.9.1.js:1037 在Object.add[as done]VM235 jquery-1.9.1.js:1083 在init.ready VM235 jquery-1.9.1.js:275 索引:66 在发送VM235时,jquery-1.9.1.js:3074 Sizzle.matchesSelector@jquery-1.9.1.js:4370 filter@jquery-1.9.1.js:5757删除@ jquery-1.9.1.js:5986 SetUPUI@index:87匿名@index:68 fire@jquery-1.9.1.js:1037 add@jquery-1.9.1.js:1083 ready@ jquery-1.9.1.js:275匿名@index:66@ jquery-1.9.1.js:3074 elemData.handle@jquery-1.9.1.js:2750

var$htmlelement=$; var isDate=0; 功能设置界面 { 如果$'dddata'.val==日期 { 警惕‘pp’; $'datetimepicker1'。追加$HtmleElement; $'datetimepicker1'。日期选择器{ 自动关闭:是的, 格式:年月日 }; } 其他的 { $htmlelement.detach;//动态删除html $'datetimepicker1'.datepicker'destroy';//您使用的是不推荐使用的删除并替换为destroy } } $document.readyfunction { //SetUPUI; $dddata.changefunction{ SetUPUI; }; }; 文本 日期
有很多问题。最主要的一点是,在文档准备就绪之前,您使用jQuery创建$htmlelement,而jQuery没有加载,因此它抛出了一个错误。请注意,浏览器的开发人员控制台是一个强大、有用的工具。学会使用它——它将为你节省大量的时间去发现问题

下面是代码的注释版本,经过修改后可以正常工作。注意-作为代码段创建,因此您可以单击蓝色运行代码段以查看其工作情况

//无冲突安全、速记文档准备就绪 jQueryfunction${ //将此文档移动到内部准备就绪否则,jQuery不可用并抛出错误 var$htmlelement=jQuery'CALENDAR'; SetUPUI; $dddata.changefunction{ SetUPUI; }; 功能设置界面{ 如果$'dddata'.val==日期{ $'datetimepicker1'。追加$HtmleElement; //将日期选择器绑定到元素 $'datetimepicker1'。日期选择器{ 自动关闭:是的, 格式:年月日 }; }否则{ //拆下适当的滤芯 $'datetimepicker1 span.input组加载项'。删除; //调用destroy remove不起作用 $'datetimepicker1'。日期选择器'remove'; } } }; 文本 日期
疑难解答101:定义不起作用。这些词对于疑难解答是无用的。它有什么作用?它做错了吗?它没用吗?您是否使用浏览器的控制台检查错误?例如,您的警报是否为“pp”;火注意:如果问题是您的datepicker代码触发,但datepicker不工作,那是因为datepicker应该绑定到输入,而不是包含元素。无警报触发。可能存在错误。控制台错误附加代码仅答案无效。你改变了什么?它为什么有效?提供一些解释或注释您的代码。@cale_b,我已添加此代码$'datetimepicker1'。datepickeroption,disabled,true;很抱歉没有提供解释,我正在为同样的内容创建小提琴。@MonojitSarkar,请检查代码片段,它正在工作now@MonojitSarkar,我的荣幸我已经查过你的密码了。在您的情况下,运行日历时会显示日历…这是不对的。我想在从下拉列表中选择日期时显示日期选择器,而不是在运行JSFIDLE时显示日历。因为您使用的是另一个日期选择器,它使用删除而不是销毁。将其更改为在你的小提琴中删除,我也会更新答案。更新了上面的代码片段。请复习/测试。