【问题标题】:ng-click for checkbox not working on load ,its working on page refresh?ng-click 复选框在加载时不起作用,它在页面刷新时起作用?
【发布时间】:2017-05-31 09:05:24
【问题描述】:

复选框在加载文件时不起作用,但在页面刷新后起作用

我的template

<div class="checkbox">
    <label>
        <input type="checkbox" id="farmCat" class="farmCatCrop" ng-click="valueChangedTwo()"> Crop </label>
    <label>
        <input type="checkbox" id="farmLive" class="farmCatLiveStock" ng-click="valueChangedTwo()"> Live Stock </label>
</div>
现金 家畜

我的method

$scope.valueChangedTwo = function() {
    if ($('.farmCatCrop').is(":checked"))
        $("#cash").show();
    else
        $("#cash").hide();

    if ($('.farmCatLiveStock').is(":checked"))
        $("#liveField").show();
    else
        $("#liveField").hide();
};

【问题讨论】:

  • 你能在上面添加正确的代码吗?以及为什么要在这里使用jQuery,可以使用angularJs。
  • 无法看到输入元素中包含id="cash"ng-model 的元素。
  • 不使用ng-model可以触发ng-click吗?
  • 停止混合 jQuery 和 Angular - 来吧。我确定如果在复选框上使用ngModels,则不会发生此问题。你甚至不需要任何 JS 代码来工作 - 只需 ngShow$scope 变量被切换

标签: javascript jquery html angularjs checkbox


【解决方案1】:
<div class="checkbox">
<label>
<input type="checkbox" id="farmCat" class="farmCatCrop" ng-model="cat.crop">Crop </label>
<label>
<input type="checkbox" id="farmLive" class="farmCatLiveStock" ng-model="cat.livestock">Live Stock </label>
</div>

然后……

<div id="cash" ng-show="cat.crop">Cash</div>
<div id="liveField" ng-show="cat.livestock">Live Stock</div>

你不需要 jQuery,因为 angularjs 可以做得更好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-22
    • 2014-10-16
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 2022-01-16
    • 1970-01-01
    相关资源
    最近更新 更多