javascript - 拖动项目时更改变量的值AngularJS JQuery-UI

标签 javascript jquery angularjs jquery-ui

我有三个 div:

<div class="col-sm-4">
  countries and cities
  <ul class="source">
    <li data-value="country">USA</li>
    <li data-value="country">France</li>
    <li class="city" data-value="city">Paris</li>
    <li data-value="city">Rome</li>
  </ul>
</div>


<div id="divCountries" class="col-sm-4">
  Countries
  <ul id="countries">
  </ul>
</div>


<div id="divCities" class="col-sm-4">
  Cities
  <ul id="cities">
    <li class="city" data-value="city">London</li>
  </ul>
</div>

当我将其中一个城市拖到 id="divCities"的 div 时,我希望一个变量变为真。

这里你有一个 plunker,它有点接近我想要的。

https://plnkr.co/edit/XOVRgqxOyVNPnKawQ8pA?p=preview

如果我在 id="divCities"的 div 中添加先验的 2 个城市,变量将为 true,然后答案将是正确的。但如果我有一个并将第二个拖到那里,它就不会变为真。

就像plunker现在一样,你可以看到#divCities中有一个class="city"的城市。 当我将具有 class="city"的 Paris 拖到 id="divCities"的 div 中时,具有 class="city"的元素的数量应该为 2,并且以下变量应该变为 true。

   $scope.exercise = $('#divCities .city').length === 2;

然后如果它是真的,它应该激活一个 ng-show 并显示“正确”。

我错过了什么?有什么帮助吗?

谢谢你:)

最佳答案

在您的代码中只需添加一个拖动事件,该事件会在拖动时触发,在该事件处理程序中将您的变量更改为 true

这是代码

$(".source li").draggable({
  helper: "clone",
  drag:function(){
    console.log('do things here which works on drag');
  }
});

关于javascript - 拖动项目时更改变量的值AngularJS JQuery-UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46140471/

相关文章:

javascript - 如何折叠 Bootstrap 4 Accordion 示例中的边框?

javascript - Shuffle Array 函数产生相同的结果

javascript - 如果满足条件则发送ajax GET请求

javascript - IFrame:在 Chrome 上运行 Iframe 但想要保留 IE 设置

javascript - 从它自己的链接器函数编译指令

javascript - 计算 Javascript 中 2 个 SQLite 日期时间之间的差异

javascript - 在 Heroku 前端部署 Angular/Express 应用程序时出现问题无法访问 API 端点

javascript - 如何使用 $.post 为 javascript 脚本传递变量?

javascript - ng-repeat limitTo 语法中如何操作

javascript - Angularjs 循环通过 $http.post