使用jquery-selected插件更新vuejs模型值

前端之家收集整理的这篇文章主要介绍了使用jquery-selected插件更新vuejs模型值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
试图使用 jquery-chosen与vue,问题是这个插件隐藏了我应用v-model的实际选择,所以当我选择一个值时,vue不会将其识别为select change事件,并且模型值不会更新.

当我选择某些东西时,select的值实际上正在改变,我已经使用console.log检查了它以查看所选的值.

http://jsfiddle.net/qfy6s9Lj/3/

我可以做vm.$data.city = $(‘.cs-select’).val(),that似乎工作,
但还有另一种选择吗?如果select的值被更改,为什么vue没有看到这个?

解决方法

回答:
http://jsfiddle.net/qfy6s9Lj/5/
<div id='search-results'>
    Vue model value <br>
    {{city}}
    <hr>
    Select value:
    <select class="cs-select" v-chosen>
       <option value="Toronto">Toronto</option>
       <option value="Orleans">Orleans</option>
    </select>
</div>

Vue.directive('chosen',{
    bind: function () {
        var vm = this.vm;
        this.el.options = vm.cities;
        this.el.value = vm.city;       

        $(this.el).chosen({
            inherit_select_classes: true,width: '30%',disable_search_threshold: 999})
        .change( function() {
             vm.city = this.el.value;
         }.bind(this)
      );
    }
});

var vm = new Vue({
  data: {
      city: 'Toronto',cities: ['Toronto','Orleans']
  }
}).$mount("#search-results");

更新:更好的解决方案(感谢simplesmiler):
http://jsfiddle.net/simplesmiler/qfy6s9Lj/8/

原文链接:https://www.f2er.com/jquery/178634.html

猜你在找的jQuery相关文章