js和rails如果未选择集合中的内容,如何禁用按钮

时间:2018-08-17 11:13:03

标签: javascript jquery ruby-on-rails ruby

我不明白我做错了什么。你能帮助我吗?如果用户未在所选字段中选择任何内容,我想使按钮禁用。 我所拥有的:

Button:
  = f.submit t('etc.actions.send'), data: {style: 'expand-left'}, class: 'ladda-button btn btn-success'

Select input field: 
  = f.input :id, collection: [['None', nil]] + @company.lead_sources.order(:name).map{ |ls| [ls.name, ls.id] }, label: 'Assign Lead Source', class: 'abc'

view_file

.modal-body
  .row.m-t-md
    .col-xs-12.col-sm-12.col-md-12
      = f.input :id, collection: [['None', nil]] + @company.lead_sources.order(:name).map{ |ls| [ls.name, ls.id] }, label: 'Assign Lead Source', class: 'abc'
.modal-footer
  .actions
    .pull-right
      = link_to t('etc.actions.cancel'), '#', class: 'btn btn-default', data: {dismiss: 'modal'}
      = f.submit t('etc.actions.send'), data: {style: 'expand-left'}, class: 'ladda-button btn btn-success'

javascript:
   $('#abc').on('change', function () {
      $('#ladda-button btn btn-success').prop('disabled', !$(this).val());
  }).trigger('change');

2 个答案:

答案 0 :(得分:-1)

尝试一下:

javascript:
  $('.abc').on('change', function () {
    $('.ladda-button').prop('disabled', !$(this).val());
}).trigger('change');

说明:

您正在做$('#abc')$('#ladda-button')#用于通过元素ID查找元素。 For classes, you use .。在您的HTML中,'abc''ladder-button''btn''btn-success'都是类。

答案 1 :(得分:-1)

默认情况下,您应该使按钮处于禁用状态:

$('.ladda-button').prop("disabled", true);

然后在选择输入字段中进行更改,使其处于活动状态:

$('.abc').on('change', function(){

    $('.ladda-button').removeAttr('disabled');

});