2016-05-25 4 views
-2

я застрял с проблемой ..JQuery не работает в моей HTML странице

Я использую AngularJS и «включили JQuery в нем, который не работает в HTML-страницы. Почему это происходит?

$('#setting').change(function() { 
 
    alert("hi"); 
 
});
<div class="content table-responsive table-full-width"> 
 
    <table class="table table-hover table-striped"> 
 
    <thead> 
 
     <th>Settings</th> 
 
    </thead> 
 
    <tbody> 
 
     <tr> 
 
     <td> 
 
      <select id="setting" class="form-control"> 
 
      <option>---Select---</option> 
 
      <option ng-repeat="item in settings" value="{{item.id}}">{{item.name}}</option> 
 
      </select> 
 
      <div id="btn" class="col-md-12" style="margin-top: 16px;"> 
 
      <input type="button" name="Activate" value="Activate" /> 
 
      <input type="button" name="Deactivate" value="Deactivate" /> 
 
      </div> 
 
     </td> 
 
     </tr> 
 
    </tbody> 
 
    </table> 
 
</div>

Пожалуйста, помогите мне с этим. Заранее спасибо

+0

вам нужно передать библиотеку jquery в свой код –

+1

Убедитесь, что сценарий не запускается до загрузки страницы. –

+0

Возможный дубликат [«Мышление в AngularJS», если у меня есть фон jQuery?] (Http://stackoverflow.com/questions/14994391/thinking-in-angularjs-if-i-have-a-jquery-background) – Vucko

ответ

0

Вместо просто использовать ng-change директиву:

<select id="setting" class="form-control" ng-change='functionToCall()'> 

и объекта области видимости вашего контроллера добавить Funciton:

$scope.functionToCall = function(){ 
    alert('hi'); 
}; 

Если вы начали с angularjs, то его лучше оставьте код стиля jquery. Angularjs отличается от jquery.

Это хорошая отправная точка. "Thinking in AngularJS" if I have a jQuery background?

0

Это часто случается, когда вы используете jQuery для элементов DOM, которые еще не созданы.

Когда ваша страница загружается, Угловая (вероятно) не будет пинать и еще заполнить свой выпадающий список.

Решение заключается в использовании Angular's ng-change. Затем ваша функция будет вызывать, когда вы выберете элемент в раскрывающемся списке.

У меня есть пример этого здесь:

Angular tutorial

Здесь я обновляю детали клиента всякий раз, когда пользователь выбирает новый клиент:

enter image description here

Код, для заполнения список и вызвать функцию при изменении выбранного элемента, выглядит так:

<select ng-model="selectedCustomer" 
     ng-change="loadOrders();" 
     ng-options="customer as customer.CompanyName for customer in listOfCustomers" > 
    </select> 
Смежные вопросы