2016-01-21 4 views
-1

Я делаю ионный (угловое) приложение и у меня есть следующий простой код на голове одного из моих шаблонов:Jquery - Выбор пункта по ID не работает

<script> 
$(document).ready(function(){ 

    alert($('#amountID').attr('id')); 

}); 
</script> 
</head> 
... 
<label class="aquitext item item-input" id="amountID"> 

Я использовал, чтобы иметь tradicional javascript onclick («blablabla»), и это сработало, но я решил переключить его на jquery, и теперь я так застрял, что мне пришлось удалить и упростить его до этого момента. Я пробовал несколько перестановок из этого, в том числе с использованием углового элемента., Но я продолжаю получать «неопределенные» в оповещении. Что я делаю не так?

(Нет, я не получаю никаких ошибок на консоли)

Edit: Кажется, что это может быть связано с тем, что у меня после ионную слайд-бокс, подумал я мало понятия о том, как обойти его. Пока я удалил ползунки. Кажется, это «исправлено».

полная структура, после того, как сценарий (я подрезал некоторые вещи из):

</script> 
</head> 
<body> 
    <ion-view> 
    <ion-content>       
     <ion-slide-box> 
      <ion-slide> 
      </ion-slide> 
      <ion-slide>    
           <div class="subtitle">blabla</div> 

           <form name="newaquisition"> 

            <label class="aquitext item item-input" id="amountID"> 
             <input ng-model='newaquisubmission.amount' type='number' placeholder='aquisition value' required> 
            </label> 


           </form> 
      </ion-slide> 

     </ion-slide-box> 
</ion-view> 


</ion-content> 


</body> 
</html> 
+1

Кажется работать здесь ... https://jsfiddle.net/fqq5134L/ –

+0

Казалось бы, что ваш '# amountID' элемент фактически не существует. Вы уверены, что это действительно так? Попробуйте оповестить 'document.getElementById (« amountID »)' –

+1

'$ (document) .ready' бесполезен в ионном/угловом приложении. После этого создается большая часть DOM. Что тебе нужно сделать? – charlietfl

ответ

0

Там, кажется, не будет ничего плохого с кодом; Он должен работать.

Несмотря на это, попробуйте создать переменную внутри функции и затем использовать эту переменную в качестве значения предупреждения. Например,

var x = $('#amountID').attr('id'); 
    alert(x); 

Если это не сработает. Вероятно, у вас есть ошибка в другом месте вашего кода.

Вы ссылаетесь на библиотеку jQuery (<script src="jquery-2.1.4.min.js"></script>)?

+0

OP указано '(Нет, я не получаю никаких ошибок на консоли)' – guradio

0

Казаться, что вы не заставляйте источник Jquery, этот код является правильным:

<html> 

<head> 
    <title>Test</title> 
    <script type="text/javascript" src="jquery-1.10.2.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
      alert($('#amountID').attr('id')); 
     }); 
    </script> 
</head> 
<body> 

<label class="aquitext item item-input" id="amountID"> 

</body> 

</html> 
1

ли метка в вашем HTML или это часть какой-то шаблон и добавляется в DOM с помощью угловой?

Если вы запускаете JS на консоли, это работает? Тогда это скорее всего проблема времени. $(document).ready похоже на ранний.

попробовать $scope.init в вашем угловом-контроллер

+0

добавил init и ничего не сделал. Я забыл упомянуть об этом, но, похоже, по какой-то причине он, похоже, связан с ионной слайдовой коробкой. – Kronephon

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