В Ruby on Rails я работаю с встроенным RJS и пытаюсь выяснить, какой вариант выбора был выбран путем доступа к свойству selectedIndex. По какой-то причине невозможно заставить это работать.Доступ к значениям элементов в RJS
Так, например, присвоение/изменение свойства SelectedIndex отлично работает:
page['model_author_id'].selectedIndex = 5
Но читать это и делает сравнение внутри RJS не работает:
if page['model_author_id'].selectedIndex == 0 then xxx end
Я сделал отладки в Firebug и кажется, что RJS генерирует следующий (неправильный) код:
$("model_author_id").selectedIndex().= = 0;
Итак, вопрос в том, как я могу получить значения элементов страницы с помощью RJS?
Большое спасибо за ответ ryanb, по какой-то причине я не смог найти ответ на это в книгах Rails и на форумах. На самом деле, я считаю, что трудность для новичков RJS, подобных мне, заключается в том, что разница очень тонкая - да, RJS - генератор javascript, но почему он не может генерировать условные выражения и т. Д. Для вас, конвертируя Ruby в JS? – Vlad
Это ограничение языка Ruby. Оператор «=» - это метод, и поведение можно переопределить, но «если» поведение не может быть. Если вам нравится javascript, я рекомендую не использовать RJS. Вместо этого просто соедините javascript и erb напрямую (с файлом вида, например index.js.erb). – ryanb