我在我的表单中使用jqTransform,我想禁用select。 jqTransform导致它不被禁用。
如果您有解决方案,请指导我。
答案 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 插件创建的选项列表的任何交互。这样,我们就维护了具有相同方面的组件。