2

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

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

4

3 回答 3

2

尝试这个 :

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

或者

  $('.someElement').attr("disabled", "true");
于 2010-08-06T09:30:16.883 回答
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');
于 2012-02-15T19:59:31.630 回答
0

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

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

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

于 2021-08-06T04:14:34.860 回答