Solved

Asp.net mvc 5

Posted on 2016-11-29
5
56 Views
Last Modified: 2016-11-29
hi Guys,

I have mvc application and I implemented autocomplete that return params with ajax:

see my code:
 $("#Search").autocomplete({
                    source: function (request, response) {
                        $.ajax({
                            url: "/Categorymanager/Autocomplete",
                            type: "POST",
                            dataType: "json",
                            data: { Prefix: request.term },
                            success: function (data) {
                                response($.map(data, function (item) {
                                    return {
                                        label: item.Deptname + item.Categoryname,
                                        Value: item.Value
                                    };
                                }))
                            }
                        })
                    },

                    minChars: 2,
                    minLength: 2,
                    autoFill: true,
                    select: function (event, ui) {
                        $("#Search").val(ui.item.Value);
                        return false;
                    },
                    messages: {
                        noResults: "", results: ""
                    }
                }).data("ui-autocomplete")._renderItem = function (ul, item) {
                    return $("<li></li>")
                    .data("item.autocomplete", item)
                    .append("<div><strong style='color:red;'>" + item.label + "</strong><strong style='color:blue;'>" + "|" + " " + item.Categoryname + "</strong></div>")
                    .appendTo(ul);
                }
                

            });
        });

Open in new window


After I'm getting the value into the text box I would like to click on the GO button and send this value to the controller with ajax.
Here is my text:
Capture.JPG
Can somebody give me an idea how to do it.
0
Comment
Question by:Moti Mashiah
  • 3
  • 2
5 Comments
 
LVL 82

Accepted Solution

by:
leakim971 earned 500 total points
ID: 41906543
What about the following ?
$("#GO_button_ID").click(function() {
   $.post("/path/to/controller", { search:$("#Search") }, function(result) {
       alert(result);
   }, "json");
});

Open in new window

0
 
LVL 1

Author Comment

by:Moti Mashiah
ID: 41906557
yes, that could be a good idea, but look at my autocomplete is return just one value to the textbox $("#Search").
I want to show in my textbox just one value but return 4 values to the method you just posted.

look at this code in my autocomplete method:
select: function (event, ui) {
                        $("#Search").val(ui.item.Value);
                        return false;
                    },
0
 
LVL 1

Author Comment

by:Moti Mashiah
ID: 41906563
this is my server side code:
public JsonResult Autocomplete(string Prefix)
        {
            ALThompsonCRMEntities ald = new ALThompsonCRMEntities();
            RMSmasterHQEntities db = new RMSmasterHQEntities();

            var search = ald.CatManSearchAutocomplete(Prefix)
                .Select(a => new Searchresult
                {
                    Deptname = a.DeptName,
                    Categoryname = a.CategoryName,
                    Value = a.DeptName
                }).ToList();

            return Json(search, JsonRequestBehavior.AllowGet);
        }

Open in new window


I can return more than one value to the property value, but I don't want to show more than one value in the textbox.

I hope you got my point.

THanks,
0
 
LVL 82

Expert Comment

by:leakim971
ID: 41906622
0
 
LVL 1

Author Closing Comment

by:Moti Mashiah
ID: 41906655
thx
1

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

766 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question