Я разрабатываю приложение OfficeApp с помощью JavaScript и jQuery, и оно почти завершено, за исключением одной функции, которая не выполняет то, что должна делать. У меня есть этот html для selectionfieldgroup:
<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 ('проверено', истина);



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я думаю, что ярлык - это то, что управляет пользовательским интерфейсом.
Попробуйте $('#radio1-year').siblings('label').attr('aria-checked',true);