I have following code which works just fine
<form class="form-horizontal">
<ul data-bind="foreach: SelectedCategories">
<li>
<input type="hidden" data-bind="attr: { Name: 'SelectedCategories[' + $index() +']'},
value: $data" />
<span data-bind="text: $data"></span>
<input type="button" data-toggle="tooltip" title="USUN" data-bind="value: 'X',
event: {click: $parent.removeCategory.bind($data)}" />
</li>
</ul>
But when I add couple hidden fields within form but before ul element then browser informs that it cannot recognize index()
unrecognized expression: input[data-bind='attr: { Name: 'SelectedCategories[' + $index() +']'}, value: $data']
code which causes error looks as follows
<form class="form-horizontal">
<input type="hidden" data-bind="attr:{Name : 'Product.Id'},
value: Product.Id" />
<input type="hidden" data-bind="attr:{Name : 'Product.Name'},
value: Product.Name" />
<input type="hidden" data-bind="attr:{Name : 'Product.Quantity'},
value: Product.Quantity" />
<input type="hidden" data-bind="attr:{Name : 'Product.Netto'},
value: Product.Netto" />
<ul data-bind="foreach: SelectedCategories">
<li>
<input type="hidden" data-bind="attr: { Name: 'SelectedCategories[' + $index() +']'},
value: $data" />
<span data-bind="text: $data"></span>
<input type="button" data-toggle="tooltip" title="USUN" data-bind="value: 'X',
event: {click: $parent.removeCategory.bind($data)}" />
</li>
</ul>
Even though error message shows up function index() returns valid number so everything looks good except browser returning error. If I place hidden fields after ul no error occures. Do you have any idea what can cause such a problem?