2013-08-29 2 views
0

Im пытается определить, когда у Select есть свой change changerd (например, пользователь выбирает один из вариантов раскрывающегося списка). Как бы то ни было, мне кажется, что это не срабатывает. Я попробовал множество решений, но у меня явно был один из тех дней, когда чего-то не хватает, но я не могу увидеть лес для деревьев.Javascript Выберите Change Wont Fire

Вот что в настоящее время получил Ive:

<html> 
<head> 
    <meta charset="utf-8" /> 
    <meta name="format-detection" content="telephone=no" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 
    <!-- jQueryMobileCSS - original without styling --> 
    <link rel="stylesheet" href="nativeDroid_v0.2.2/development/css/jquerymobile.css" /> 
    <!-- jQuery/jQueryMobile Scripts --> 
    <script src="JQueryMobile/jquery-1.10.2.js"></script> 
    <script src="JQueryMobile/jquery.mobile-1.3.2.js"></script> 
    <!-- customised styles --> 
    <link rel="stylesheet" type="text/css" href="css/index.css" /> 

      <script type="text/javascript"> 
     $(".test").change(function() { 
      //var newVal = $(this).val(); 
      alert("The new value is: " + $(this).val()); 
     }); 
       </script> 
</head> 

<body> 


        <select name="select-choice-enmeasurement" id="select-choice-enmeasurement" class="test"> 
         <option value="C45">C45</option> 
         <option value="M3">M3</option> 
         <option value="M5">M5</option> 
         <option value="M8">M8</option> 
        </select> 

    </body> 
</html> 

Ive также попытался выше, но путем определения класса, а не Идентификатор выбора управления.

P.s. Ссылка на JqueryMobile есть только потому, что выше выведено из проекта JQM. Однако Ive создал вышеупомянутую страницу как уникальную страницу в этой форме для устранения потенциальных конфликтов и т. Д.

Любые идеи/рекомендации были бы оценены. Спасибо.

+0

Вы динамически добавляете меню выбора? http://jsfiddle.net/Palestinian/yWEqd/ – Omar

+0

Нет. Это буквально код, который я использую для целей отладки. –

+0

попробуйте положить js внутри тела. – Omar

ответ

0

После получения полезных комментариев от KamilT и Omar, я решил проблему неспособности разместить JavaScript вне формы.

Решение должно включать/включать идентификатор формы перед идентификатором элемента. например:

<script type="text/javascript"> 
     $("#formenstep1 #select-choice-enmeasurement").change(function() { 
      //alert("The new value is: " + $(this).val()); 
     }); 
    </script> 

Это теперь может быть расположен в сноске HTML страницы и он будет пикап необходимый элемент формы.

2

Использование

$(function(){ 
    $(".test").change(function() { 
     //var newVal = $(this).val(); 
     alert("The new value is: " + $(this).val()); 
    }); 
)}; 

Без него, вы пытаетесь добавить EventHandler ко всем элементам с .test класса, но ваш выбор пока не создан - HTML, обрабатывается сверху вниз. Запускается $(function(){ });, когда загружается вся страница - включая ваш выбор. Внутри функции вы можете добавить обработчик, потому что все элементы HTML уже загружены.

+0

'.ready()' не должно использоваться в JQM. Так что это не проблема. – Omar

+0

@ Омар, я не знал этого, спасибо за информацию;) –

+0

Эй, Камиль, я попробую. Мне никогда не приходило в голову, что это будет так, но это имеет смысл. –

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