Прокрутите список предложений для текстового поля
Привет,
Я работаю над автозаполнением текстового поля в MVC 4. Предложение, которое я получаю, исходит из моей базы данных. Проблема в том, что предложение не входит в список прокрутки и влияет на выравнивание страницы. Это влияет на положение другого текстового поля. И когда я очищаю текстовое поле, все предложения для этого конкретного текстового поля отображаются. я не хочу никаких предложений, когда очищаю текстовое поле.
Что я уже пробовал:
код в контроллере:-
public JsonResult GetSuggest(string technology) { var cn = new SqlConnection(); var ds = new DataSet(); string strCn = ConfigurationManager.ConnectionStrings["Database"].ToString(); cn.ConnectionString = strCn; var cmd = new SqlCommand { Connection = cn, CommandType = CommandType.Text, CommandText = "select distinct Domain from files Where Domain like @myParameter and Domain!=@myParameter2" }; cmd.Parameters.AddWithValue("@myParameter", "%" + technology + "%"); cmd.Parameters.AddWithValue("@myParameter2", technology); try { cn.Open(); cmd.ExecuteNonQuery(); var da = new SqlDataAdapter(cmd); da.Fill(ds); } catch (Exception) { } finally { cn.Close(); } DataTable dt = ds.Tables[0]; var txtItems = (from DataRow row in dt.Rows select row["Domain"].ToString() into dbValues select dbValues.ToLower()).ToList(); return Json(txtItems, JsonRequestBehavior.AllowGet); }
в виду():-
<pre><script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.min.js"></script> <script type="text/javascript"> var textbox; var selectValue; $(function () { textbox = $("#Domain"); selectValue = $('ul#selectedValue'); textbox.on("input", function () { getAutoComplete(textbox.val()); }); }); function getAutoComplete(technology) { var uri = "Index/GetSuggest"; $.getJSON(uri, { technology: technology }) .done(function (data) { selectValue.html(""); var count = 0; $.each(data, function (key, item) { //$('<option>').text(item).appendTo('#selectedValue'); var li = $('<li/>').addClass('ui-menu-item').attr('role', 'menuitem') .html("<a href='#' onclick=\"setText('" + item + "')\">" + item + "</a>") .appendTo(selectValue); count++; }); }); } function setText(text) { textbox.val(text); getAutoComplete(text); } </script>
<input type="text" id="Domain" class="form-control" placeholder="Technology" name="Domain"><br /> <ul style="list-style:none" id="selectedValue"></ul>