0

我这里select_field有一个动态ID。

为什么是动态的?因为我使用了嵌套字段/表单。

<%= 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 %>   

我可以使用..获取ID

alert(getID);

但是获得选定的值会undefined导致divshow()hide()无法正常工作。

任何解决方法将不胜感激。谢谢。

4

3 回答 3

3
var value =  $("#" + getID).val()
于 2013-03-24T04:21:49.430 回答
1
var element = $(this);
var value = element.val()
于 2013-03-24T04:23:34.777 回答
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();
                    }

                });
于 2013-03-24T04:24:22.033 回答