Пошук імені за допомогою автозаповнення jQuery, після натискання клавіші enter - виберіть RadioButton

Я пишу заявку в 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">
                    
                    <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>
}
1

2 Відповіді

функція вимагає лише набір рядків. Ви можете зробити посаду вручну, яка отримує розділений пробілом рядок, а потім розділити її на простір на масив і передати її функції:

$(function() {
    var list;
    $.post("/Home/TakeGry", { }, function(result) {
        list = result.split(' ');
    });


    $("#tags").autocomplete(list);
});
0
додано
гаразд, я думаю, ви повинні мати можливість зробити це за допомогою цієї події: посилання
додано Автор Mats Edvinsson, джерело
Моя функція автозаповнення jQuery працює нормально, але коли я вибираю щось з списку автозаповнення, відповідний RadioButton повинен бути автоматично вибраний. Я не знаю, як робити асинхронно, не перезавантажуючи сторінку.
додано Автор tzm, джерело

Після декількох годин пошуку, я знайшов відповідь, яку я поставив нижче:

Я повинен змінити сценарій на:

<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 (який друкує імена і радіокарти) я повинен змінити це:

@Html.RadioButtonFor(modelItem => item.GraID, new { id = item.GraID })

До:

<input type="radio" name='@item.Nazwa' id="radioButton" value="{ id = @item.GraID }" />

Дякуємо за будь-яку допомогу :).

0
додано
var chat = new Chat();
var chat = new Chat();
642 учасників

Обсуждение вопросов по C# / .NET / .NET Core / .NET Standard / Azure Сообщества-организаторы: — @itkpi — @dncuug

ІТ КПІ - JavaScript
ІТ КПІ - JavaScript
504 учасників

співтовариство javascript розробників в Telegram