0

私はここにselect_field動的IDを持っています。

なぜ動的なのですか?ネストされたフィールド/フォームを使用したためです。

<%= f.select :category_id, Category.all.map{ |c| [c.code, c.id] }, {prompt:""},{class:"cat-code"} %>

ここに、選択フィールドごとに動的IDを取得するJSコードがあります。

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

しかし、選択した値を取得するとundefinedshow()hide()divも機能しなくなります。

任意の回避策をいただければ幸いです。ありがとう。

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 に答える