Текст метки не обновляется в зависимости от того, что выбрано в select [closed]

0

http://jsfiddle.net/XMc6t/

Текст ярлыка должен обновляться в зависимости от того, что выбрано в параметрах выбора. Что я делаю не так?

HTML:

<label id="amount" name="amount">Test</label>
<select name="cycle" id="cycle">
    <option>Monthly</option>
    <option>Annually</option>
</select>

JQuery:

$(document).ready(

function () {
    $('#cycle').change(

    function () {
        var rate = 0;
        if (('#cycle option:selected'.text() == "Monthly")) {
            rate = 2;
        } else {
            rate = 5;
        }
        $('#amount').text('$' + rate);
    });
});
  • 1
    Я просто хочу отметить, что вам не нужно вводить $(document).ready(...) . Современный эквивалент - $(function(){});
Теги:

2 ответа

3
Лучший ответ

Есть несколько проблем

  • В скрипке jquery не был включен
  • Вместо использования текста выбранного элемента вы можете легко заменить его значением выбора
  • И другие синтаксические ошибки

Пытаться

$(document).ready(function () {
    $('#cycle').change(function () {
        var rate = 0;
        //check the value of the select element
        //missing $ before your selector
        if ($(this).val() == "Monthly") {
            rate = 2;
        } else {
            rate = 5;
        }
        $('#amount').text('$' + rate);
    });
});

Демо: скрипка

3

Вы забыли включить jQuery в свою скрипку, но фактическая ошибка была в строке:

if (('#cycle option:selected'.text() == "Monthly")) {

должен быть:

if ($('#cycle option:selected').text() == "Monthly") {

Пример jsFiddle

Ещё вопросы

Сообщество Overcoder
Наверх
Меню