我有一个简单的 Sinatra 应用程序,您可以使用它来记录您在某个晚上喝的啤酒、它们的数量和类型。要编辑其中一个用户输入的夜晚,我有一个简单的表单,它反映了创建饮酒事件时输入的值:
<input type="text" value="<%= @beer.name %>" name="name"/>
<input type="text" value="<%= @beer.price %>" name="price"/>
因此,从数据库值中填充值是一件好事。现在,如何选择下拉列表的值?
<select name="night">
<option value="Monday">Monday</option>
<option value="Tuesday">Tuesday</option>
<option value="Wednesday">Wednesday</option>
<option value="Thursday">Thursday</option>
<option value="Friday">Friday</option>
<option value="Saturday">Saturday</option>
<option value="Sunday">Sunday</option>
</select>
我发现我可以使用内联 jquery 来做到这一点:
<script>
$(document).ready(function(){
$(".edit select[name=type] option").each(function(){
if ($(this).val() == "<%= @beer.type %>"){
$(this).attr("selected", true );
}
});
$(".edit select[name=night] option").each(function(){
if ($(this).val() == "<%= @beer.night %>"){
$(this).attr("selected", true );
}
});
});
</script>
但我真的不想求助于内联 js。有什么建议么?