Интерфейс Office Fabric, как проверить радиообъект выбора fieldgroup (javascript / jquery) - PullRequest
0 голосов
/ 12 ноября 2018

Я разрабатываю OfficeApp с JavaScript и jQuery, и он почти завершен, за исключением одной функции, которая не выполняет то, что должна. У меня есть этот HTML для выбора fieldgroup:

            <div class="ms-ChoiceFieldGroup" id="choicefieldgroup" role="radiogroup">
                <div class="ms-ChoiceFieldGroup-title">
                    <label class="ms-Label" id="lblSelectType">Select type:</label>
                </div>
                <ul class="ms-ChoiceFieldGroup-list">
                    <li class="ms-RadioButton">
                        <input tabindex="-1" type="radio" class="ms-RadioButton-input" id="radio1-amount" value="amount">
                        <label role="radio" class="ms-RadioButton-field" tabindex="0" aria-checked="false" name="choicefieldgroup">
                            <span class="ms-Label" id="lblAmount">Amount</span>
                        </label>
                    </li>
                    <li class="ms-RadioButton">
                        <input tabindex="-1" type="radio" class="ms-RadioButton-input" id="radio1-datetime" value="datetime">
                        <label role="radio" class="ms-RadioButton-field" tabindex="0" aria-checked="false" name="choicefieldgroup">
                            <span class="ms-Label" id="lblDateTime">Date / time</span>
                        </label>
                    </li>
                    <li class="ms-RadioButton">
                        <input tabindex="-1" type="radio" class="ms-RadioButton-input" id="radio1-year" value="year">
                        <label role="radio" class="ms-RadioButton-field" tabindex="0" aria-checked="false" name="choicefieldgroup" id="testjaar">
                            <span class="ms-Label" id="lblYear">Year</span>
                        </label>
                    </li>
                </ul>
            </div>

В JavaScript я делаю следующее:

Office.initialize = function (reason) {
    $(document).ready(function () {
        **$('input[id=radio1-year]').attr('checked', true);**


        var ChoiceFieldGroupElements = document.querySelectorAll(".ms-ChoiceFieldGroup");
        for (var i = 0; i < ChoiceFieldGroupElements.length; i++) {
            new fabric['ChoiceFieldGroup'](ChoiceFieldGroupElements[i]);
        }
    });
};

Жирной линией должна быть отмечена опция. Если я проверяю в коде, опция отмечена, но она не отображается в пользовательском интерфейсе. Что я делаю неправильно. Или я должен добавить что-то дополнительное? Вместо жирной линии я также использовал следующее (все с одинаковым результатом):

$ ('# radio1-year'). Prop ('check', true);

...