1

I am using select2 and I have a collection_select in an update form that looks like this:

<%= collection_select(:event, :project_date_id, @project_dates.available, :id, :schedule_date, :prompt => false, :selected => @set_date.id)  %>

When an option is selected (:id), I want to also put the displayed value (:schedule_date) in a hidden field.

<%= f.hidden_field :starts_on, value: {HERE'S WHERE the :schedule_date display value from the select goes}



I feel like this is a job for Jquery...but I'm very new to Jquery and having trouble figuring it out.

NothingToSeeHere
  • 2,253
  • 5
  • 25
  • 57

3 Answers3

3

I'm not ruby developer, but in case of jquery, you can do like this :

<script>
  $(function(){
    $(document).on('change','#_id_name_for_select', function(){
       var select_value = $(this).val();
       $('#_id_name_for_hidden_field').val(select_value);

    });
  });
</script>
Norlihazmey Ghazali
  • 9,000
  • 1
  • 23
  • 40
0

Try this

<script>
    $(function () {
        $("#select_id").change(function () {
            $('#hidden_field_id').val(this.value);
        });
    });
</script>
Sonalkumar sute
  • 2,565
  • 2
  • 17
  • 27
0

For drop-down(select field) Id:

<script type="text/javascript">
    $(document).on('change','#select_id', function(){
        var select_value = $(this).select2('val');
        $('#hidden_field_id').val(select_value);
    });
</script>

For drop-down(select field) class:

<script type="text/javascript">
    $(document).on('change','.select_class', function(){
        var select_value = $(this).select2('val');
        $('#hidden_field_id').val(select_value);
    });
</script>
ROR
  • 441
  • 2
  • 13