我有这个javascript代码
function editRerenderFix() {
console.log("edit render start");
textAreaFix();
console.log("edit render middle");
setupDates();
console.log("edit render end");
}
/** Function to auto expand out the text area to hold all content **/
function textAreaFix() {
jQuery('textarea').on( 'change keyup keydown paste cut', function (event){
jQuery(this).height(100);
jQuery('textarea').each(function() {
jQuery(this).height(jQuery(this).prop('scrollHeight'));
});
});
return null;
}
/** Function to fix and set the custom date/time picker **/
function setupDates() {
jQuery('.dateFormat').remove();
var inputs = jQuery('.inputDate');
jQuery(inputs).each(function() {
var input = jQuery(this).val().split('/')[2];
if(input.length > 4) {
input = input.split(" ")[0];
}
if(input < '2015') {
jQuery(this).val("");
}
});
console.log("Setup Dates function ran");
jQuery('.inputDate').datetimepicker();
}
使用onComplete ajax方法调用此函数。问题是当它运行时只调用textAreaFix()
。仅在控制台中&#34;编辑渲染开始&#34;和&#34;编辑渲染中间&#34;出现。
&#34;设置日期功能运行的原因&#34;首先是因为我有这个功能,
jQuery(document).ready(function() {
jQuery.material.init();
textAreaFix();
setupDates();
tourStep();
easterEgg();
});
如何调用setupDates()
函数?
编辑:
我向setupDates()
添加了更多调试,
/** Function to fix and set the custom date/time picker **/
function setupDates() {
jQuery('.dateFormat').remove();
var inputs = jQuery('.inputDate');
console.log(inputs);
jQuery(inputs).each(function() {
var input = jQuery(this).val().split('/')[2];
console.log(input);
if(input.length > 4) {
console.log("Input > 4");
input = input.split(" ")[0];
console.log(input);
}
if(input < '2015') {
console.log("Fix 2015 dates");
jQuery(this).val("");
}
});
console.log("Setup Dates function ran");
jQuery('.inputDate').datetimepicker();
}
当我跑步时,我明白了,
我不确定&#34; undefined&#34;来自。但
答案 0 :(得分:1)
我的猜测是它显示未定义因为循环重复而jQuery(this).val()。split(&#39; /&#39;)[2]导致问题。也许这个的console.log和this.val()就在循环块的开头? - James Nearn 30分钟前