2014-02-28 7 views
0

Попытка найти способ не отправлять входные данные массиву, если выбран конкретный параметр выбора, и я могу только думать об этом с помощью jquery.Изменение формы выбирает имя входа при выборе определенной опции

Что я в настоящее время используют, чтобы изменить класс является:

document.getElementById("sel1").onchange = function() { 
    this.className = (this.selectedIndex != 0) ? "selectoption-okay":"selectoption"; 
}; 

HTML:

<select id="sel1" class="selectoption" name="desc[]"> 
    <option selected="selected">Select an option...</option> 
    <option value="1">Option 1</option> 
</select> 

И это прекрасно работает, но теперь то, что я хочу сделать, это изменить имя выбора входа от 'desc []' до, например, 'Dontuse'

Я попытался это:

this.name = (this.selectedIndex != 0) ? "desc[]":"dontuse"; 

Но он не работает, где я буду неправильно?

Также возможно связать эти условные утверждения?

+1

Какой браузер вы используете? Работает для меня: http://jsfiddle.net/RH6Sp/ – webdeveloper

+0

Должно быть, я ошибся в своей скрипке, отлично работает в примере, который вы сделали, и кажется прекрасным в моем проекте! Спасибо, что прояснил это :) – Lovelock

ответ

1

В ответ на ваш второй вопрос, да, можно цепи условных операторов:

var result = (condition) ? value1 
         : ((condition2) ? value2 
             : value3); 

Здесь результат будет value1, если условие истинно, значение2, если условие ложно и condition2 верно, и value3 если оба условия 1 и условие2 ложны.

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

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