Я создаю экран, который необходимо удалить и добавить некоторые значения в поле выбора на основе того, были ли предоставлены определенные поля. Моя форма требует, чтобы определенные поля были предоставлены во время редактирования (не во время нового). Поэтому при входе на экран я удаляю некоторые опции выбора из поля «Состояние», в частности значение «Предложено». После того, как пользователь изменит другие поля, я посмотрю, все ли соответствующие поля заполнены, и я бы хотел снова добавить опцию «Предложено» в качестве выбора. Это необходимо ниже, ближе к концу кода. Строка: (хотя не работает).
$("select[title='Status'] option").add(ProposedOption);
Вот мой код:
<script type="text/javascript">
$(document).ready(function() {
//don't exectute any jsom until sp.js file has loaded.
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', ChkUser);
});
function ChkUser()
{
//var admingroup = "DMSDataManagement Owners";
//console.log('selected='+'Admingroup='+admingroup);
//Lozzi.Fields.disableWithAllowance("Status",[admingroup]);
//Lozzi.Fields.disable("Status");
Lozzi.Fields.hide("ApprovedBy");
Lozzi.Fields.hide("DateApproved");
Lozzi.Fields.hide("PreviousStatus");
var selectedValue = ($("h3:contains('Status')").closest('tr').find('select').val());
//alert('Selected='+selectedValue);
ProcessStatusValues(selectedValue);
//on change of dropdown of Is this Critical we will call this
$("h3:contains('DataDomain')").closest('tr').find('select').change(function () {
//CheckMandatory(selectedValue);
ProcessStatusValues(selectedValue);
});
}
function ProcessStatusValues(selectedValue) {
var ProposedFound = false;
var ProposedOption;
$("select[title='Status'] option").each(function(){
if (selectedValue == 'In Process'){
//console.log('value='+$(this).text());
if(($(this).text() == 'Approved') || ($(this).text() == 'Obsolete'))
{
$(this).remove();
}
else if ($(this).text() == 'Proposed')
{
console.log('found Proposed');
//ProposedFound = true;
if ($("h3:contains('DataDomain')").closest('tr').find('select').val() == '0')
{
ProposedOption = $(this);
$(this).remove();
}
}
}
if (selectedValue == 'Proposed'){
if(($(this).text() == 'Approved') || ($(this).text() == 'Obsolete'))
{
$(this).remove();
ProposedFound = true;
}
}
})
if (($("h3:contains('DataDomain')").closest('tr').find('select').val() != '0') && (ProposedFound == false)) {
console.log('need to add Proposed');
$("select[title='Status'] option").add(ProposedOption);
}
}
</script>
Заранее спасибо.