jqgrid and typehead« Wróć do listy pytań

not working, sending text instead of id
Wysłane przez mrmucha
Zadane przez 19/06/2018 08:28
0

version that detects inline or form edit mode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
                {
                    name: "my_object_text", label: "my label", width: 385, align: "left", editable: true,
                    edittype: "text", editoptions:
                        {
                            dataInit: function (element) {
                                $(element).attr("autocomplete", "off");
                                $(element).typeahead({
                                    scrollBar: true,
                                    alignWidth: false,
                                    ajax: 'placowki/ajaxed_array',
                                    onSelect: function (cos) {
                                        var id;
                                        if ($(element).hasClass("FormElement")) {
                                            //form
                                            id = "my_object_id";
                                        } else if ($(element).closest(".ui-search-toolbar").length > 0) {
                                            //filter
                                            id = "gs_my_object_id";
                                        } else if ($(element).closest("tr.jqgrow").length > 0) {
                                            //inline
                                            id = $(element).closest("tr.jqgrow").attr("id") + "_my_object_id";
                                        }
                                         $("#"+id).val(cos.value);
                                    }
                                });
                            }
                        }
                }
                {
                    name: "my_object_text", label: "my label", width: 385, align: "left", editable: true,
                    edittype: "text", editoptions:
                        {
                            dataInit: function (element) {
                                $(element).attr("autocomplete", "off");
                                $(element).typeahead({
                                    scrollBar: true,
                                    alignWidth: false,
                                    ajax: 'placowki/ajaxed_array',
                                    onSelect: function (cos) {
                                        var id;
                                        if ($(element).hasClass("FormElement")) {
                                            //form
                                            id = "my_object_id";
                                        } else if ($(element).closest(".ui-search-toolbar").length > 0) {
                                            //filter
                                            id = "gs_my_object_id";
                                        } else if ($(element).closest("tr.jqgrow").length > 0) {
                                            //inline
                                            id = $(element).closest("tr.jqgrow").attr("id") + "_my_object_id";
                                        }
                                         $("#"+id).val(cos.value);
                                    }
                                });
                            }
                        }
                }
Wysłane przez mrmucha
Odpowiedziane 19/06/2018 09:38
0

1. create two fields ( with ID and TEXT)
2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
                {name:'my_object_id', index:'my_object_id', width:10, editable:true,align:'right',formatter: 'number', hidden: true},
                {
                    name: "my_object_text", label: "my_object_text", width: 385, align: "center", editable: true,
                    edittype: "text",editoptions:
                        {
                            dataInit: function (element)
                            {
                                var $self = $(this);
                                $(element).attr("autocomplete","off");
                                $(element).typeahead({
                                    scrollBar: true,
                                    alignWidth: false,
                                    ajax: 'my_object/ajaxed_array',
                                    onSelect: function(return_obj){
                                        $("#my_object_id").val(return_obj.value);
                                    }
                                });
                            }
                        }
                }
                {name:'my_object_id', index:'my_object_id', width:10, editable:true,align:'right',formatter: 'number', hidden: true},
                {
                    name: "my_object_text", label: "my_object_text", width: 385, align: "center", editable: true,
                    edittype: "text",editoptions:
                        {
                            dataInit: function (element)
                            {
                                var $self = $(this);
                                $(element).attr("autocomplete","off");
                                $(element).typeahead({
                                    scrollBar: true,
                                    alignWidth: false,
                                    ajax: 'my_object/ajaxed_array',
                                    onSelect: function(return_obj){
                                        $("#my_object_id").val(return_obj.value);
                                    }
                                });
                            }
                        }
                }
Wysłane przez mrmucha
Odpowiedziane 19/06/2018 08:30