$(function() { $(".tb").autocomplete({ source: function(request, response) { "> $(function() { $(".tb").autocomplete({ source: function(request, response) { "> $(function() { $(".tb").autocomplete({ source: function(request, response) { " />

JQueryのドロップダウン・キー

私はこの例をオンラインで見つけましたが、それは完璧でしたが、従業員IDを格納する(隠して)方法を知りたいので、後でサーバー側で使用できます。

ありがとうございました

<script type="text/javascript">
    $(function() {
        $(".tb").autocomplete({
            source: function(request, response) {
                $.ajax({
                    url: "EmployeeList.asmx/FetchEmailList",
                    data: "{ 'mail': '" + request.term + "' }",
                    dataType: "json",
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    dataFilter: function(data) { return data; },
                    success: function(data) {
                        response($.map(data.d, function(item) {
                            return {
                                value: item.Email
                            }
                        }))
                    },
                    error: function(XMLHttpRequest, textStatus, errorThrown) {
                        alert(textStatus);
                    }
                });
            },
            minLength: 1
        });
    });
</script>
0

1 答え

オートコンプリートには、値が変更された場合にフィールドがぼやけたときに発生する変更イベントがあります。このイベントにイベントハンドラをバインドし、そのイベントハンドラ内に隠しフィールドを設定する必要があります。

そう

 $(".tb").autocomplete({
            source: function(request, response) {
                $.ajax({
                    url: "EmployeeList.asmx/FetchEmailList",
                    data: "{ 'mail': '" + request.term + "' }",
                    dataType: "json",
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    dataFilter: function(data) { return data; },
                    success: function(data) {
                        response($.map(data.d, function(item) {
                            return {
                                value: item.Email
                            }
                        }))
                    },
                    error: function(XMLHttpRequest, textStatus, errorThrown) {
                        alert(textStatus);
                    }
                });
            },
            minLength: 1,
            change : function (event,ui) {
                     $("#hdnEmpId").val(ui.item.value);
            }
        });

You will have to figure out how you want to implement the change event handler. You can read more about that at http://jqueryui.com/demos/autocomplete/#event-change

お役に立てれば!

0
追加された