У меня есть поле выбора 2 с html:
<div class="col-md-9">
<select class="form-control select2" style="width: 100%;" id="project_status" name="project_status" data-placeholder="Select a project status">
<option value="" ></option>
<option value="Pipeline" selected>Pipeline</option>
<option value="Started">Started</option>
<option value="Closed">Closed</option>
</select>
</div>
У меня есть JS вот так:
$("#project_status").select2({
allowClear: true
});
Я хотел бы очистить это поле в случае выбора опциив другой коробке вот так:
$('#project_type').change(function() {
project_type_value_check();
});
function project_type_value_check() {
project_type_val = $("#project_type option:selected").val();
if (project_type_val == "Pre-sales")
{
$('#project_status').val(null).trigger('change');
}
}
Но как ни странно, при этом я получаю очень странное поведение.При первой загрузке страницы вызывается функция project_type_value_check (), которая хорошо очищает значение.Но если я изменяю тип проекта коробки, например, на проект, затем устанавливаю статус проекта «Запущено», а затем, если я снова пытаюсь установить тип проекта «Предварительная продажа», я получаю сообщение об ошибке:
Uncaught RangeError: Maximum call stack size exceeded
at String.replace (<anonymous>)
at Function.fa [as find] (jquery.min.js:2)
at n.fn.init.find (jquery.min.js:2)
at new n.fn.init (jquery.min.js:2)
at n (jquery.min.js:2)
at project_type_value_check (2019:4581)
at HTMLSelectElement.<anonymous> (2019:4626)
at HTMLSelectElement.dispatch (jquery.min.js:3)
at HTMLSelectElement.r.handle (jquery.min.js:3)
at Object.trigger