Есть select multiple, и при выборе option с value «null» необходимо чтобы все остальные стали disabled.
<div class="form-group col-md-6">
<label for="field-1" class="control-label">Клиент</label>
<?php if (is_array($clients)): ?>
<select id="client" class="form-control select2" name="client[]" style="width: 100%;" multiple onchange="ChangeFilters()">
<option value="null" <?= isset($saved_client) && in_array('null', $saved_client) ? 'selected':'' ?> <?= (!isset($saved_client)) && in_array('null', $s_cl) ? 'selected':'' ?>>Без клиента</option>
<?php foreach ($clients as $client): ?>
<option value="<?=$client['ID']?>" <?= isset($saved_client) && in_array($client['ID'], $saved_client) ? 'selected':'' ?> <?= (!isset($saved_client)) && in_array($client['ID'], $s_cl) ? 'selected':'' ?>>
<?php echo $client['NAME']; ?>
</option>
<?php endforeach; ?>
</select>
<?php endif; ?>
</div>
JS-файл:
function ChangeFilters() {
$('select#client').each(function () {
var val = $(this).val();
if (val != 'null') {
$('select#client option[value="' + val + '"]').attr("disabled", true);
}
});
}