У меня есть форма Ruby on Rails 3 с check_box_tags. Как вы устанавливаете идентификатор, а затем получаете значение в функции javascript? Вот check_box_tagКак вы устанавливаете и получаете идентификатор check_box_tag для функции javascript?
<div class="row" id="device">
<ul>
<li><%= check_box_tag 'survey[hardware][]', "IP Phones" %> IP Phones</li>
</ul>
</div>
Мой Javascript
$(document).ready(function() {
$('#device').change(function(){
if (($('#device').val() == "IP Phone") || ($('#device').val() == "IP PBX Systems"))
{
$('#phonepbx').css('display', 'none');
}
else
{
$('#phonepbx').css('display', 'inline');
}
});
});
Я не знаю, как установить и получить идентификатор check_box_tag. Я пытаюсь показать или скрыть div id = "phonepbx" в зависимости от того, что они выбирают. Если они выберут одну из первых двух флажков, я хочу показать div #phonepbx. В противном случае держите его скрытым.
Спасибо
EDIT Это то, что HTML заканчивается как:
<li><input id="survey_hardware_" name="survey[hardware][]" type="checkbox" value="IP Phones" /> IP Phones</li>
У меня есть требуют JQuery и требуют jquery_ujs. Нужно ли мне что-то еще?
Решение
function checkHardware() {
if ($('#device input:checkbox:eq(0)').is(':checked') || $('#device input:checkbox:eq(1)').is(':checked'))
{
$('#phonepbx').css('display', 'block');
}
hmmm .. jQuery val функция обычно ожидает элемент ввода не div. Хотя если вы скопируете val '$ ('# device'). Val ('some value here')' с некоторым значением, вы сохраните его в элементе. Из того, что я вижу в вашем коде, это не так. –
Когда я вводим идентификатор checkbox, я получаю null в JS. document.getElementById ('# обзор [оборудование] []'); null – DDDD
getElementById не является jQuery, вы не добавляете идентификатор с знаком #, также идентификатор вашего входного тега - survey_hardware_, поэтому для получения этого конкретного флажка будет что-то вроде document.getElementById ('survey_hardware_'). –