如何为javascript函数设置和获取check_box_tag的ID?
我有一个带有check_box_tags的Ruby on Rails 3表单。 如何设置ID然后在javascript函数中获取值? 这是check_box_tag
- IP Phones
我的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的id。 我试图根据他们选择的内容显示或隐藏div id =“phonepbx”。 如果他们选择前两个复选框之一,我想显示#phonepbx div。 否则将其隐藏起来。
谢谢
编辑这是HTML最终的结果:
IP Phones
我确实需要jquery并需要jquery_ujs。 我需要别的东西吗?
解
function checkHardware() { if ($('#device input:checkbox:eq(0)').is(':checked') || $('#device input:checkbox:eq(1)').is(':checked')) { $('#phonepbx').css('display', 'block'); }
根据您的说明,您只需检查是否选中了两个特定复选框中的至少一个:
$(document).ready(function() { $('#device').change(function(event){ if ($(event.target).filter("input[value='IP Phone']:checked").length || $(event.target).filter("input[value='IP PBX Systems']:checked").length) { $('#phonepbx').css('display', 'inline'); } else { $('#phonepbx').css('display', 'none'); } }); });
它看起来像你试图通过向div添加更改处理程序来捕获复选框事件。 这不是理想的陷阱,因为你必须搜索改变了什么。 但正如RustyToms所说,你的ID应该是RoR设定的’调查[硬件] []’。
$(document).ready(function() { $('#survey[hardware][]').on('click', function(){ (this.checked && this.val().match(/IP Phone|IP PBX Systems/)) ? $('#phonepbx').hide() : $('#phonepbx').show(); }); });
- 我有一个div,其contentEditable =“true”,需要为输入的数字着色
- 如何在slideToggle函数中更多/更少地更改div高度
- 使用jQuery getJSON的“无效标签”Firebug错误
- Mustache JS Templating – 如何在脚本标记字符串中嵌入变量?
- 使用jQuery使用multipart / form-data进行HTTP POST调用?
- 用Javascript分割Pascal案例(某些案例)
- jQuery AJAX和ASP.NET Web服务:不能通过ajax脚本使用asmx web服务
- jquery移动pageshow事件未在第一页上触发
- jQuery.browser:Javascript Uncaught TypeError