我在asp.NET中编写应用程序,我使用MVC 3模型(视图引擎Razor)。在jQuery自动完成中搜索合适的名称并在名称上按Enter后,我不知道如何做到这一点,应用程序将检查适当的RadioButton。
<script type="text/javascript">
$(function () {
$("#tags").autocomplete({
source: "/Home/TakeGry",
minLength: 1,
select: function (event, ui) {
// I suspect that something needs to add here
}
});
});
</script>
<table>
<tr>
<th>
<div class="demo">
<div class="ui-widget">
<label for="tags">Surowce: </label>
<input id="tags" />
<input id="hiddenElementID" type="hidden" />
</div>
</div>
</th>
<th>
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Nazwa)
</td>
<td>
// One of these RadioButton's should be checked, when I hit enter
@Html.RadioButtonFor(modelItem => item.GraID, new { id = item.GraID })
</td>
</tr>
}
答案 0 :(得分:0)
该函数只需要一组字符串。 你可以做一个手动发布一个空格分隔的字符串,然后将空格分割成一个数组并将其传递给函数:
$(function () {
var list;
$.post("/Home/TakeGry", { }, function(result) {
list = result.split(' ');
});
$("#tags").autocomplete(list);
});
答案 1 :(得分:0)
经过几个小时的搜索,我找到了答案,我将其放在下面:
我必须将脚本更改为:
<script type="text/javascript">
$(function () {
$("#tags").autocomplete({
source: "/Home/TakeGry",
minLength: 0,
select: function (event, ui) {
if (ui.item) {
$('input[name="' +ui.item.value+ '"]').attr('checked', true);
}
}
});
});
在foreach(打印名称和RadioButtons)中,我必须改变:
@Html.RadioButtonFor(modelItem => item.GraID, new { id = item.GraID })
要:
<input type="radio" name='@item.Nazwa' id="radioButton" value="{ id = @item.GraID }" />
感谢您的帮助:)。