2016-07-07 5 views
0

У меня есть checkbox внутри Bootstrap Modal. Когда я проверил, что он закрыл модель, она не осталась проверенной, если я снова открою модальный диалог.Почему мое состояние элементов флажка не сохраняется внутри Bootstrap modal?

У меня есть список, названный как $scope.price, из которого элемент поступит на основе некоторого состояния. Если я выберу «Вымывание» из выпадающего списка, тогда модальная будет открыта с помощью элементов стирки. Следующий мой код.

HTML

<div class="modal fade" id="Washing" role="dialog"> 
    <div class="modal-dialog modal-lg"> 
     <div class="modal-content"> 
     <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal">&times;</button> 
     </div> 
     <div class="modal-body"> 
      <table border="1"> 
      <tr ng-repeat="y in price"> 
      <td> {{ y.name }} </td> 

      <td> {{ y.cost }} </td> 
      <td> <input type="checkbox" value={{y.name}} ng-model="servicess[1].checked"> </td> 
      </tr> 
      </table>   
     </div> 
     <div class="modal-footer"> 
      <button type="submit" class="b1">Save</button> 
      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     </div> 
     </div> 
    </div> 
</div> 

Script

$scope.call = function(value) 
{ 
    if(value=="washing") 
    { 
     $scope.price = [{ 
      "name": "Washing1", 
      "cost": 500 
      }, { 
      "name": "Washing2", 
      "cost": 600 
      }, { 
      "name": "Washing3", 
      "cost": 700 
     }]; 
    } 
    else if(value=="wheel_align") 
    { 
     $scope.price = [{ 
      "name": "Wheel_Align1", 
      "cost": 150 
      }, { 
      "name": "Wheel_Align2", 
      "cost": 160 
      }, { 
      "name": "Wheel_Align3", 
      "cost": 170 
     }]; 
    } 
    else if(value=="full_service") 
    { 
     $scope.price = [{ 
      "name": "full_service1", 
      "cost": 15 
      }, { 
      "name": "Full Service2", 
      "cost": 66 
      }, { 
      "name": "full_service3", 
      "cost": 67 
      }]; 
     } 
}; 

$(".b1").on('click', function() { 
    $('input[type=checkbox]').each(function(){ 
     if($(this).prop("checked") == true) { 
      servicess.push($(this).val()); 
     } 
     alert(servicess); 
    }); 

    for(var i=0;i<servicess.length;i++) 
    { 
     $('input[type=checkbox][value='+servicess[i]+']').prop('checked',true); 
    } 
}); 
+0

Вы настроили 'for loop' по назначению или только для обходного пути? – Rohit416

+0

Just for Work Around –

+0

Попробуйте удалить петлю и посмотреть, что вы получаете. – Rohit416

ответ

0

Попробуйте это может быть, это поможет вам

$(".b1").on('click', function() { $('input[type=checkbox]').each(function(){ if($(this).prop("checked") == true) { servicess.push($(this).val()); } alert(servicess); }); 

$ ('вход [тип = флажок] [значение = '+ servicess [I] +'] ') проп (' проверил», правда); });

Смежные вопросы