我这里有一个带有动态ID的select_field
。
为何动态?因为我使用了嵌套的字段/表单。
<%= f.select :category_id, Category.all.map{ |c| [c.code, c.id] }, {prompt:""},{class:"cat-code"} %>
我这里有一个JS代码,只需获取每个选择字段的动态ID。
<%= javascript_tag do %>
$(function() {
$(".cat-code").change(function(){
var getID = this.id;
var value = $("getID").val()
alert(value);
if (value == "1"){
$(".div1").show();
$(".div2").hide();
}
else if (value == "2"){
$(".div1").hide();
$(".div2").show();
}
});
});
<% end %>
我可以使用..
获取idalert(getID);
但是,选中的值会变为undefined
,从而导致show()
和hide()
div无效。
任何变通办法都将受到赞赏。感谢。
答案 0 :(得分:3)
var value = $("#" + getID).val()
答案 1 :(得分:0)
var element = $(this);
var value = element.val()
答案 2 :(得分:0)
谢谢大家,已经解决了这个问题。
$(".cat-code").change(function(){
var getID = this.id;
var value = document.getElementById(this.id).value;
console.log(getID + "with a value of" + value);
if (value == ){
$(".div1").show();
$(".div2").hide();
}
else if (value == "2"){
$(".div1").hide();
$(".div2").show();
}
});