Я хочу установить значение поля автозаполнения, используя xf: setvalue. Я знаю, что сначала мне нужно установить значение поля, а затем установить метку (@label). Я пытаюсь сделать это следующим образом:Setvalue поля автозаполнения не работает
<xf:setvalue ref="xxf:instance('fr-form-instance')//*[name() = $autocomplete-name]" value="'myValue'"/>
<xf:setvalue ref="xxf:instance('fr-form-instance')//*[name() = $autocomplete-name]/@label" value="'labelValue'"/>
После этого в форме строитель, я вижу, что в главном случае это выглядит правильно:
<xf:instance id="fr-form-instance" xxf:exclude-result-prefixes="#all">
<form>
<section-5>
<control-10 label="labelValue">myValue</control-10>
</section-5>
</form>
</xf:instance>
но, к сожалению, в моем автозаполнения поле нет никаких изменений. Я могу заметить изменение только в том случае, если я перехожу к кнопке «edit source» в построителе форм, и без каких-либо изменений я нажимаю «apply». Затем автозаполнение автоматически обновляется, и я вижу свой ярлык: 'labelValue'. Что мне делать, чтобы обновить поле автозаполнения после setvalue?
С уважением
Thank you. Я пытался это сделать: у меня есть действие, которое выполняется после нажатия пользователем на какую-либо кнопку. Внутри этого действия я поместил код из вашей ссылки:
user2539823
Не могли бы вы создать «минимальный» пример, который я могу запустить здесь, чтобы воспроизвести проблему? Ему нужно будет использовать общедоступную службу, но вы можете просто использовать для этого статический файл, например. https://dl.dropboxusercontent.com/u/6900/resources/20131119-countries.xml. Вы можете опубликовать источник своего кода на https://gist.github.com/ и просто ссылку на него отсюда. – avernet
У меня есть две переменные: control-name, которая является именем моего автозаполнения, а контрольное значение содержит значение, которое должно быть присвоено метке автозаполнения. Весь код находится в файле xbl (мой собственный контроль): https://gist.github.com/pumbosha/9185683436023a43893a – user2539823