Rails helper "Collection Select"

I have the same problem as this guy , since no one answered, I decided to send a message:

I am trying to implement this jquery plugin for my application. I need help trying to get something like this

<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>

using the rails helper ... the problem is the helpers, which do not seem to output the title attribute in the option tags. which is critical for this plugin

Please help, thanks in advance

Edit: my current rails code

<%= f.collection_select(:university_id,University.all,:id,:name)%

which just outputs

<select name="user[university_id]" id="user_university_id">
        <option value="1">Uni1</option>
        <option value="2">Uni2</option>
    </select>

So basically what I need is a way to also add a title attribute for my options.

+3
source share
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
+2

, - :

$('#user_university_id option').each( function(){
    var optText = $(this).html();
    $(this).attr('title', optText);
})

. - , .

0

Source: https://habr.com/ru/post/1752872/


All Articles