如何在使用jqTransform时禁用select

时间:2010-08-06 09:24:02

标签: jquery jqtransform

我在我的表单中使用jqTransform,我想禁用select。 jqTransform导致它不被禁用。

如果您有解决方案,请指导我。

3 个答案:

答案 0 :(得分:2)

试试这个:

// To disable 
$('.someElement').attr('disabled', 'disabled');

  $('.someElement').attr("disabled", "true");

答案 1 :(得分:2)

也许有点晚了,但这是我的解决方案。

您必须禁用原始选择元素(如前所述),然后删除此选择的jqTransform元素并重做jqTransform操作。

我为自己写了一个小功能(我在这里也提到过:jqTransform Select - Ajax Update?)。

function fix_select(selector) {
  selectedVal = $(selector).children(':selected').val();
  $(selector).children('option').removeAttr('selected');
  $(selector).children('option[value="'+selectedVal+'"]').attr('selected','selected');

  $(selector).removeClass('jqTransformHidden');
  $(selector).css('display','block');
  $(selector).prev('ul').remove();
  $(selector).prev('div.selectWrapper').remove();

  var selectElm = $(selector).closest('.jqTransformSelectWrapper').html();

  $(selector).closest('.jqTransformSelectWrapper').after(selectElm);
  $(selector).closest('.jqTransformSelectWrapper').remove();

  $(selector).closest('form').removeClass('jqtransformdone');
  $(selector).closest('form').jqTransform();
}

更改选择元素后调用此函数(禁用它,通过ajax oid添加选项)。

fix_select('select#my_updated_select_box');

答案 2 :(得分:0)

很晚了,但我对这个问题的解决方案是:

let elem = $('#realSelectElementID');
elem.css('disabled',true).prev('ul').css('pointer-events','none');

禁用真实元素并取消与 jqTransform 插件创建的选项列表的任何交互。这样,我们就维护了具有相同方面的组件。