场景是这样的,我想设计一个Post
表格,用于记录我一顿饭吃的水果,包括picture
,content
,多种{fruit
1}}。
模型关系是,
Post has_many fruits
Fruit belong_to post
我使用Jquery-ui
制作autocomplete
以帮助用户输入他们的水果。在他们输入水果标签后,它会在输入字段下创建一个标签。
喜欢这个
但是如何在表格中创建?我考虑过动态嵌套表单,但我不希望它有很多表单,我希望只有一个输入并使用动态嵌套表单执行相同的操作。
以下是github,如果需要提供更多信息,请与我们联系。
答案 0 :(得分:2)
$(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[]
变量来检索添加的结果,该变量将是包含所选水果标签的数组。