В моем коде есть логический флажок. как я понимаю, при проверке он должен возвращать свое значение как истинное, а при отсутствии проверки он должен возвращать свое значение как ложное. Но я сталкиваюсь с другой ситуацией, которая заключается в следующем:
При начальной загрузке страницы отображается сообщение: «не выбрано». Когда я устанавливаю флажок, он показывает мне значение: «истина». Когда я снимаю флажок, он показывает мне значение: «истина». Таким образом, он всегда показывает мне значение «true», даже сколько раз я устанавливаю или не проверяю его.
Может ли кто-нибудь указать мне, в чем проблема и как ее можно исправить, чтобы получить желаемые результаты:
Вот HTML-код автоформы:
{{#autoForm collection='Collections.Category' validation='submit' id='CategoryInsertForm' class="form-horizontal form-with-legend" role="form" type='method' meteormethod='CategoryInsertMethod' }}
{{ currentFieldValue 'isParent' }}
{{> afFormGroup name='isParent' id='isParent' type="boolean-checkbox"}}
{{#if afFieldValueIs name="isParent" value= 'true'}}
{{> afFieldInput name='parentId' id='parentId' class='form-control'}}
{{/if}}
{{/autoForm}}
Вот JS-код:
Template.registerHelper("currentFieldValue", function (fieldName) {
return AutoForm.getFieldValue( fieldName) || "not selected";
});
Вот код схемы:
Collections.Category = new Mongo.Collection('category');
Schemas.Category = new SimpleSchema({
catId:{
type: String,
optional: true,
unique: true
},
isParent: {
type: Boolean,
optional: true,
defaultValue: false,
// ,allowedValues: [true, false]
label: "Parent category"
},
parentId: {
type: String,
label: "ParentID",
optional: true
},
title: {
type: String,
optional:true
}
});
Collections.Category.attachSchema(Schemas.Category);