使用jQuery自动完成搜索名称,按Enter键后 - 选择RadioButton

时间:2011-10-28 14:18:07

标签: c# javascript jquery asp.net radio-button

我在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>
}

2 个答案:

答案 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 }" />

感谢您的帮助:)。