2016-08-07 6 views
0

picture,content、多くの種類のfruitを含めると、1つの食事で何を食べるのかを記録するために使用されるPostフォームを設計したいと考えています。 モデルの関係はレールはどのように1つのフォームでネストされたフォームを作成しますか?

Post has_many fruits 
Fruit belong_to post 

は、私は、ユーザーが自分の実を入力するのを助けるためにautocompleteを作るためにJquery-uiをusee、ということです。彼らはフルーツタグを入力した後、入力フィールドの下にタグを作成します。この

enter image description here

同様 は、しかし、どのように私は形でこれを作成するには?私は動的なネストされたフォームについて考えましたが、フォームがたくさんあることは望ましくありません。入力が1つしかなく、動的なネストされたフォームで同じことをしたいと思っています。

ここには​​がありますので、詳細をお知らせください。

+0

なぜ入れ子になったフォームが必要ですか?私は質問をしなかった。申し訳ありません – jaysingkar

+0

ええと...質問は私がポストと多くのフルーツを作りたいということです。しかし、果物の数は動的です。そして私は入力フィールドが1つしかないことを願っています –

+0

ok。複数の入力フィールドを動的に追加することができます。私がJsFiddleに表示するべきであるかのようにユーザーがmore product button – jaysingkar

答えて

1

$(document).on('click','#add_fruit',function(e){ 
 
    e.preventDefault(); 
 
    addFruitTag(); 
 
}); 
 

 
function addFruitTag(){ 
 
    var content = $('#content').val().trim(); 
 
    var fruit = $('#fruit').val().trim(); 
 
    if(content.length <1 || fruit.length < 1){ 
 
    alert("Please fill content and fruit"); 
 
    }else{ 
 
     $('#fruit_tags').append(
 
     $('<input>') 
 
     .attr('type','checkbox') 
 
     .attr('name','fruits[]') 
 
     .attr('value',$('#fruit').val()) 
 
     .prop('checked','true') 
 
    ) 
 
     .append(
 
     $('<label>') 
 
     .text($('#fruit').val())  
 
    ) 
 
     .append($('<br>')); 
 
    } 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<form action="#" method="GET"> 
 
    Content : <input type="text" id="content" name="content"><br/> 
 
    Fruit : <input type="text" id="fruit"> 
 
    <button id="add_fruit">Add Fruit</button><br/> 
 
    <div id="fruit_tags"> 
 
    </div> 
 
    <input type="submit" value="Create Post"> 
 
</form>

注:私はオートコンプリートのプラグインについて多くのアイデアを持っていないので、私は機能addFruitTag()を作成している、あなたはのハッシュタグを追加するあなたの関数を呼び出しているところそれを呼び出します果物。

サーバーにフォームを送信するときに、fruits[]変数にアクセスすると、追加されたフルーツを取得できます。これは、選択したフルーツタグを含む配列になります。

+0

ありがとう、今私はそれを把握する方法を知っている! –

関連する問題