【问题标题】:dropkick callback issuedropkick 回调问题
【发布时间】:2012-01-08 13:17:43
【问题描述】:

我使用 dropkick js 来设置下拉表单的样式,但有一个小问题。我想做的是在进行选择时做两件事:根据选择生成另一个下拉列表并在控制台中打印值(只是为了简单起见)。我也想在控制台中打印生成的下拉列表的值。所以这是我的代码的样子:

$('.dropStyled').dropkick({
        change: function (value, label) {
            $('#subCategory').find('span.sub').html('<select id="selectSubCountry" name="subCountry" class="dropStyledSub" tabindex="2"></select>');                
            $('#selectSubCountry').append($("<option></option>").attr("value",'test').text(label));
            $('.dropStyledSub').dropkick(function() { //this is the dropdown I create dynamically
                change: function(val, lab) {
                    console.log(val);
                }
            });

            console.log(value);
        }
    });

问题是我在这一行得到“Uncaught SyntaxError: Unexpected token ”:

change: function(val, lab) {

有什么想法吗?

【问题讨论】:

标签: javascript jquery


【解决方案1】:

去掉第二个dropkick参数中的function(),它必须是一个对象:

$('.dropStyled').dropkick({
    change: function (value, label) {
        ...
        $('.dropStyledSub').dropkick({ //this is the dropdown I create dynamically
            change: function(val, lab) {
                console.log(val);
            }
        });
        ...
    }
});

【讨论】:

    【解决方案2】:

    dropkick 函数将对象作为参数,因此您必须从调用中删除该函数,即

    $('.dropStyledSub').dropkick({
        change: function(val, lab) {
            console.log(val);
        }
    });
    

    您传递的方式在语法上确实不正确,因为您将function() {...} 形式的函数声明与{ change : function() {...} } 形式的对象声明混合在一起。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-04
      • 2010-12-20
      • 2013-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多