jquery select内の無効なオプションをすべて無効にしようとしています.....特定のオプションを無効にするとうまくいきますが、それらを再度有効にしたいときは、それらはまだ無効のままです....この問題を解決するために多くのことが必要ですが、私の試みはうまくいきません....
いくつかのより詳細な説明に続きます。どんな助けにもとても感謝しています!
すべてのオプションを指定した jquery select:
<select id="opt_projects" class="f-dd">
<optgroup label="Intern">
<option value="1">Arbeitsbeginn</option>
<option value="2">Pause Beginn</option>
<option value="3">Pause Ende</option>
<option value="4">Fahrzeit Start</option>
<option value="5">Fahrzeit Stop</option>
<option value="6">Feierabend</option>
</optgroup>
<optgroup label="Auftrag 123482">
<option value="20">Instandhaltungsauftrag</option>
<option value="21">Reparaturauftrag</option>
<option value="22">Wartungsauftrag</option>
<option value="23">Kalibirierungsauftrag</option>
<option value="24">Serviceauftrag</option>
<option value="25">Aufarbeitungsauftrag</option>
</optgroup>
</select>
特定のボタンをクリックすると、これらの値が mobiscroll select-scroller 内に表示されます。
ユーザーが 1 つのタスクを選択した後 (たとえば、Arbeitsbegin [英語: 仕事の開始])、このオプションを無効にしたいと考えています。これはうまくいきます。しかし、もう一度有効にしたい場合、これは機能しません。click-handler、mobiscroll-scroller、および change 関数 (これは機能しません....) のコードに従います。
クリックハンドラー:
//Click-Listener für den Projekt-Change-Button
$('#btn_changeProject').click(function () {
myLogger("Project-Change-Button wurde geklickt");
$('#opt_projects').mobiscroll('show');
return false;
});
Mobiscroll-Scroller:
// Initialisieren und anhängen des scroller
$('#opt_projects').mobiscroll().select({
theme: 'android-ics',
group: true,
lang: 'de',
display: 'bottom',
mode: 'clickpick',
inputClass: 'i-txt',
label: 'Vorgangsart',
groupLabel: 'Auftrag',
headerText: function(value) {
return 'Gewählte Vorgangsart: ' + value;
},
// Nachdem ein Element selektiert wurde
onSelect: function(valueText, inst) {
// und alle Labels neu erzeugt
myLogger("Neues Projekt wurde selektiert");
changeLabels(valueText);
}
});
動作しない変更関数 (この関数は、mobiscroll-scroller の onSelect-callback 関数によって呼び出されます)
// Validierungen für die Optionsliste
function validateOptions() {
var update_options = function () {
if ($('#opt_projects option[value="3"]').prop('disabled')) {
// none of this work......
$('#opt_projects option[value="3"]').prop('disabled', false);
// $('#opt_projects option[value="3"]').removeAttr('disabled').change();
// $('#opt_projects option[value="3"]').removeAttr('disabled');
// $('#opt_projects option:eq(2)').prop('disabled', false);
// $('#opt_projects option:eq(2)').removeAttr('disabled');
} else {
// Works fine..........
$('#opt_projects option[value="3"]').prop('disabled', true);
}
};
$(update_options);
$("#opt_projects").change(update_options);
// $("#opt_projects").trigger("refresh");
// $('#opt_projects').trigger('change');
}
enyone がこの問題で私を助けることができれば、それは素晴らしいことです.... ありがとう、ダニエル