选择onChange不起作用

时间:2017-05-17 06:29:12

标签: javascript jquery

您好我在这里使用了这个自定义选择菜单http://codepen.io/wallaceerick/pen/ctsCz

现在我面临的问题是我的选择onChange功能不起作用基本上当我们选择第一个选项时它会根据第一个选择获取数据,它在我使用此自定义选择菜单之前工作,所以我认为问题是这个自定义选择菜单Javascript代码

选择菜单代码

          <div class="select">
              <select name="province" id="selProvinces_{$sn}" onchange="region.changed(this, 2, 'selCities_{$sn}')">
                <option value="0">{$lang.please_select}{$name_of_region[1]}</option>
                <!-- {foreach from=$province_list.$sn item=province} -->
                <option value="{$province.region_id}" {if $consignee.province eq $province.region_id}selected{/if}>{$province.region_name}</option>
                <!-- {/foreach} -->
              </select>
          </div>

的Javascript

    $('select').each(function(){
        var $this = $(this), numberOfOptions = $(this).children('option').length;

        $this.addClass('select-hidden'); 
        $this.wrap('<div class="select"></div>');
        $this.after('<div class="select-styled"></div>');

        var $styledSelect = $this.next('div.select-styled');
        $styledSelect.text($this.children('option').eq(0).text());

        var $list = $('<ul />', {
            'class': 'select-options'
        }).insertAfter($styledSelect);

        for (var i = 0; i < numberOfOptions; i++) {
            $('<li />', {
                text: $this.children('option').eq(i).text(),
                rel: $this.children('option').eq(i).val()
            }).appendTo($list);
        }

        var $listItems = $list.children('li');

        $styledSelect.click(function(e) {
            e.stopPropagation();
            $('div.select-styled.active').not(this).each(function(){
                $(this).removeClass('active').next('ul.select-options').hide();
            });
            $(this).toggleClass('active').next('ul.select-options').toggle();
        });

        $listItems.click(function(e) {
            e.stopPropagation();
            $styledSelect.text($(this).text()).removeClass('active');
            $this.val($(this).attr('rel'));
            $list.hide();
            //console.log($this.val());
        });

        $(document).click(function() {
            $styledSelect.removeClass('active');
            $list.hide();
        });

});

0 个答案:

没有答案