选择元素标记和jquery - 脚本停止工作

时间:2012-08-02 16:53:31

标签: jquery html

我有这个选择标签:

<div class="browse_by">
     <select id="dynamic_select">  
            <option selected="selected">Browse by Category</option>
    </select>
</div>

jQuery代码:

$('#dynamic_select').bind('change', function() {
    var url = $(this).val();
    if (url) {
        window.location = "/gallery/" + url;
    }
    return false;
});

问题是当我为这个Select元素使用自定义jQuery下拉菜单时,jQuery代码停止工作。我尝试了jqtransform和dropkick。

在jqtransform和dropkick之前使用它通常可以正常工作但在它们之后它停止工作没有url重定向。

有任何帮助吗?

3 个答案:

答案 0 :(得分:1)

所以你正在使用Dropkick.js,它基本上将你的select标签重写为自定义小部件。 您需要重新附加事件处理程序。

如果您转到Dropkick site,请阅读自定义'更改'回调部分。

您需要执行类似

的操作
$('#dynamic_select').dropkick({
  change: function (value, label) {
    var url = value;
    if (url) {
       window.location = "/gallery/" + url;
    }
  }
});

答案 1 :(得分:0)

只是一个问题....您的选项元素没有VALUE属性...

<option selected="selected">Browse by Category</option>

由于没有定义value属性

var url = $(this).val();将失败......

因此,您的window.location将设置为"/gallery/undefined"

使它像

<option selected="selected" value="somePage.html">Browse by Category</option>

它会正常工作:)

答案 2 :(得分:0)

你可以试试我的图书馆http://www.pkoretic.net/csTransPie/ 它不会更改选择标记,只会在其上应用样式。 它甚至可以在手机上使用。