我和this guy有完全相同的问题,因为没有人回答,我决定重新发布:
我一直在尝试实现这一点 jquery插件到我的app.I需要帮助 试图输出这样的东西
<select name="user[university_id]" id="user_university_id" class="selectable">
<option value="1" title="uni1">Uni1</option>
<option value="2" title="uni2">Uni2</option>
</select>
使用rails helper ...问题 是帮助者似乎永远不会输出一个 选项标签的title属性.. 这对这个插件至关重要
请提前帮助,请提供帮助
编辑:我当前的rails代码是
<%= f.collection_select(:university_id,University.all,:id,:name)%
只输出
<select name="user[university_id]" id="user_university_id"> <option value="1">Uni1</option> <option value="2">Uni2</option> </select>
基本上我需要的是一种方法 还要为我添加title属性 选项。
答案 0 :(得分:2)
你有没有考虑过自己的帮手?我刚刚从rails source复制了这段代码,然后更改了名称并添加了标题。
def options_for_select_with_title(container, selected = nil)
return container if String === container
container = container.to_a if Hash === container
selected, disabled = extract_selected_and_disabled(selected)
options_for_select = container.inject([]) do |options, element|
text, value = option_text_and_value(element)
selected_attribute = ' selected="selected"' if option_value_selected?(value, selected)
disabled_attribute = ' disabled="disabled"' if disabled && option_value_selected?(value, disabled)
options << %(<option title="#{html_escape(value.to_s.downcase)}" value="#{html_escape(value.to_s)}"#{selected_attribute}#{disabled_attribute}>#{html_escape(text.to_s)}</option>)
end
options_for_select.join("\n").html_safe
end
答案 1 :(得分:0)
它有点hacky但你可以做类似的事情:
$('#user_university_id option').each( function(){
var optText = $(this).html();
$(this).attr('title', optText);
})
这将为标题分配选项的文本内容。或者,您可以使用生成的ID执行更随意的操作。