2014-01-21 5 views
0

Я пытаюсь написать скрипт, который проходит через все элементы с идентификатором «toggleSelect». Он должен добавить функцию onclick, которая переключает данный флажок выбора на основе атрибута rel того же элемента.Почему я получаю сообщение UncaughtSyntax

Пример:

<input type="radio" name="button" value="toggle" id="toggleSelect" rel="example1"> 

<select name="example1" id="example1" DISABLED> 
    <option>Test Option</option> 
    <option>Test Option</option> 
    <option>Test Option</option> 
</select> 

Так в основном, когда переключатель выше нажата, она должна иметь функцию OnClick, которая позволяет выберите поле «example1». Я получаю «Uncaught SyntaxError: Неожиданный токен». и я понятия не имею, почему. Вот мой код:

(function(){ 

    $("#toggleSelect").on("click", function(){ 
     idToggler = $(this).attr("rel"); 
     if($("#" + idToggler)).is(":disabled")){ 

      $("#" + idToggler.prop("disabled", false); 

     } else { 

      $("#" + idToggler.prop("disabled", true); 

     } 
    }); 
}); 

Любая помощь была бы принята с благодарностью!

+0

все элементы с идентификатором "toggleSelect". ... Плохая практика хранения нескольких идентификаторов. –

+0

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

+0

'$ (" # "+ idToggler) .prop' видеть перед тем, как пропущено' '' '' '. – Jai

ответ

0

Попробуйте:

$("#toggleSelect").change(function() { 
    idToggler = $(this).attr("rel"); 
    if($("#" + idToggler).is(":disabled")){ 

     $("#" + idToggler).removeAttr("disabled"); 

    } else { 

     $("#" + idToggler).addAttr("disabled"); 

    } 
}); 

Working Fiddle

0

Есть несколько синтаксических ошибок в коде попробуйте следующий код,

$(function() { 
    $("#toggleSelect").on("change", function() { 
     idToggler = $(this).attr("rel"); 
     if ($("#" + idToggler).is(":disabled")) { 
      $("#" + idToggler).prop("disabled", false); 
     } else { 
      $("#" + idToggler).prop("disabled", true); 
     } 
    }); 
}); 

Fiddle Demo

+0

'click' должен быть« изменен »в вашем коде. – Jai

0

здесь является вопрос

if($("#" + idToggler)).is(":disabled")){ 
        ↑ 

изменить его с

if($("#" + idToggler).is(":disabled")){ 

и здесь является вопрос

$("#" + idToggler.prop("disabled", false); 
       ↑ 

должно быть

$("#" + idToggler).prop("disabled", false); 

и еще

$("#" + idToggler).prop("disabled", true); 

и вам нужно добавить $ знак перед тем (function(){

как этот

$(function(){ 

и, наконец, вы должны использовать on как

$(document).on("change", "#toggleSelect", function() { 
Смежные вопросы