问题
I am currently working on an MVC project and implemented jQuery Selectable plugin. I have a string in my model which I have Split() as below in my view:
@{
var size = Model.AvailableSizes.Split(',');
foreach (var item in size)
{
<ol class="ui-selectable" id="selectable">
<li class="ui-selectable">@item</li>
</ol>
}
}
Here is the static script defined in my view:
<script type="text/javascript">
$(document).ready(function () {
$("#selectable").selectable();
});
</script>
The selectable jQuery plugin successfully generates the <ol>s for each item but I can only select the first item not the rest. What is the problem?
回答1:
You should put the <ol> outside the loop. Right now you're creating a N ol elements with a single li inside them, all with the same id which is both invalid HTML, and the cause of your problem.
Try this:
<ol class="ui-selectable" id="selectable">
@{
var size = Model.AvailableSizes.Split(',');
foreach (var item in size)
{
<li class="ui-selectable">@item</li>
}
}
</ol>
来源:https://stackoverflow.com/questions/39043635/why-the-jquery-selectable-plugin-doesnt-work-with-a-foreach-generated-list