【问题标题】:Search name using jQuery autocomplete, after pressing enter - select RadioButton使用 jQuery 自动完成搜索名称,按 Enter 后 - 选择 RadioButton
【发布时间】:2011-11-20 01:03:38
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    该函数只需要一个字符串集合。 您可以手动发布一个以空格分隔的字符串,然后将其拆分为一个数组并将其传递给函数:

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

    【讨论】:

    • 我的 jQuery 自动完成功能工作正常,但是当我从自动完成列表中选择某些内容时,必须自动选择相应的 RadioButton。我不知道如何异步执行,无需重新加载页面。
    • 好的,我想你应该能够在这个事件处理程序的帮助下做到这一点:link
    【解决方案2】:

    经过几个小时的搜索,我找到了答案,我把它放在下面:

    我必须将脚本更改为:

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

    感谢您的帮助:)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-25
      • 1970-01-01
      • 2020-12-05
      • 1970-01-01
      • 1970-01-01
      • 2012-01-14
      • 2018-03-31
      • 1970-01-01
      相关资源
      最近更新 更多