Javascript 我的函数参数有什么问题吗?还是其他问题?

Javascript 我的函数参数有什么问题吗?还是其他问题?,javascript,jquery,function,Javascript,Jquery,Function,具有此功能,但它似乎无法正确执行。这是: function chooseCols(colTag,tagName) { // Set name column var column = $('.tagChooser:eq('+ colTag +')'); column.parents('.col').css('background','#EAF3EA'); column.v

具有此功能,但它似乎无法正确执行。这是:

       function chooseCols(colTag,tagName) {
            // Set name column
            var column = $('.tagChooser:eq('+ colTag +')');         
            column.parents('.col').css('background','#EAF3EA');
            column.val(tagName);            
        } setTimeout(chooseCols(data.col_name,'colName'), 2000);
使用“正确执行”时,我的意思是没有选择“右选择”选项,并且其父项的背景颜色保持不变

顺便说一句,data.col_name是我从ajax调用中获得的json对象。它给了我一个索引,我可以用它来选择正确的选项。

欢迎任何提示

谢谢

试试这个:

  function chooseCols(colTag,tagName) {
     // Set name column
     var column = $('.tagChooser:eq('+ colTag +')');         
     column.parents('.col').css('background','#EAF3EA');
     column.val(tagName);            
  } 
  setTimeout(function () {
      chooseCols(data.col_name,'colName');
  }, 2000);
您的问题是因为您调用了函数(
chooseCols(data.col\u name,'colName')
)并将
undefined
而不是函数传递给
setTimeout

尝试以下操作:

  function chooseCols(colTag,tagName) {
     // Set name column
     var column = $('.tagChooser:eq('+ colTag +')');         
     column.parents('.col').css('background','#EAF3EA');
     column.val(tagName);            
  } 
  setTimeout(function () {
      chooseCols(data.col_name,'colName');
  }, 2000);

您的问题是因为您调用了函数(
chooseCols(data.col\u name,'colName')
)并将
undefined
而不是函数传递给
setTimeout

传递argunments应该是这样的

setTimeout(function(){
    chooseCols(data.col_name,'colName')
}, 2000);

传递的参数应该是这样的

setTimeout(function(){
    chooseCols(data.col_name,'colName')
}, 2000);