Есть ли простой способ найти узлы DOM в пути свойств связанного объекта JS?
Например, у меня есть некоторый объект
<script type="text/javascript">
model = {
companyName : "JS Corporation",
address : "",
staff : [
{
name : "Jack Brown",
position : "SW developer"
},
{
name : "John Dow",
position : "Big Boss"
},
{
name: "Billy Hill",
position : ""
}
]
}
</script>
и шаблон
<!-- TEMPLATE -->
<script type="text/x-jsrender" id='companyTamplate'>
<p>company name <input data-link='companyName'></p>
<p>address <input data-link='address'></p>
<fieldset>
<legend>Staff</legend>
{^{for staff}}
<div class='person'>
<p> name <input data-link='name'> </p>
<p> position <input data-link='position'> </p>
</div>
{{/for}}
</fieldset>
</script>
и связать их
$.templates('#companyTamplate').link('#companyView',model);
Затем я отправляю свой объект в виде JSON на сервер и получаю ошибку проверки, подобную этой
{
errors : [
{
"path" : "address",
"error" : "empty string"
},
{
"path" : "staff[2].position",
"error" : "empty string"
}
]
}
Я хочу выделить поле ввода дляадрес и должность.Для выделения поля адреса я могу просто перейти на вход [data-link = address]
Но когда у меня возникает ошибка в каком-либо элементе массива, это не так очевидно.
Обходной путь - добавить ввведите в поле атрибут с полным путем
<input data-link='position' data-link-path='staff[{{:#index}}].position' >
, а затем перейдите к
input[data-link-path="staff[2].position"]
Но легко забыть добавить дополнительный атрибут.
Есть ли ещепростой способ решить эту проблему?