2017-02-08 5 views
0

Я хочу выполнить JQuery AutoComplete. Моя кодировка Autocomplete работает нормально. Но автозаполнения должен работать, когда пользователь выбирает конкретный элемент ListBoxКак получить текст элемента списка после его выбора в JQuery?

This is output window

вы можете увидеть один ListBox и одно текстовое поле. Я хочу, чтобы автозаполнение работало, когда пользователь выбирает StoreID элемент.

Jquery код

//AUTO COMPLETE 
var autoSelectedField = $("#FilterField option:selected").text(); 
if (autoSelectedField === 'StoreID') { 
    alert(autoSelectedField); 
    $('#txtFilterValue').autocomplete({ 
     source: 'AutoCompleteHandler.ashx' 
    }); 
} 

автозаполнение код

public class AutoCompleteHandler : IHttpHandler 
{ 

    public void ProcessRequest(HttpContext context) 
    { 
     //string selectName = context.Request["columnName"] ?? ""; 
     string term = context.Request["term"] ?? ""; 

     List<string> listSelectedColumn = new List<string>(); 

     string cs = ConfigurationManager.ConnectionStrings["HQMatajerConnectionString"].ConnectionString; 

     using (SqlConnection con = new SqlConnection(cs)) 
     { 
      SqlCommand cmd = new SqlCommand("JCF_ac_getItemLookupCode", con); 
      cmd.CommandType = CommandType.StoredProcedure; 
      cmd.Parameters.Add(new SqlParameter() 
       { 
        ParameterName = "@storeid", 
        Value = term 
       }); 

      con.Open(); 
      SqlDataReader rdr = cmd.ExecuteReader(); 

      while (rdr.Read()) 
      { 
       listSelectedColumn.Add(rdr["StoreCode"].ToString()); 
      } 

     } 

     JavaScriptSerializer js = new JavaScriptSerializer(); 
     context.Response.Write(js.Serialize(listSelectedColumn)); 
    } 

    public bool IsReusable 
    { 
     get 
     { 
      return false; 
     } 
    } 
} 

автозаполнение должно работать, когда элемент списка выбран.

+0

добавить еще условие document.getElementById ("txtFilterValue"). Автозаполнения = "выключено" –

+0

@VinodLouis может преобразовать его в jquery? –

+0

$ ('# txtFilterValue'). Attr ("autocomplete", "off") –

ответ

1

Чтобы добиться того, что я упомянул в своем (Mohamed Фейсал) полюсу в качестве комментария это единственный способ, которым я придумал. Пожалуйста, сообщите, если обнаружена какая-либо проблема.

JQuery автозаполнения

$('#txtFilterValue').autocomplete({ 
    source: function(request, response) { 
      $.ajax({ 
       url: 'AutoCompleteHandler.ashx', 
       dataType: "json", 
       data: { 
        term : request.term, 
        value : autoSelectedField 
       }, 
       success: function(data) { 
        response(data); 
       } 
      }); 
     }, 
}); 

C# Код

string term = context.Request["term"] ?? ""; 
// Mention following code below above line. 
string value = context.Request["value"] ?? ""; 
+1

это ответ '// AUTO COMPLETE var autoSelectedField = $ (" # FilterField option: selected "). Text(); $ ('# txtFilterValue') автозаполнения ({ источник: "AutoCompleteHandler.ashx selectName =? + AutoSelectedField });' –

+0

ли это соответствует вашим требованиям.? Если вы можете получить доступ к 'selectName' на сервере, тогда это поможет вам в фильтрации желаемого результата. – Prabhat

+0

спасибо брату. ваш код работает. –

0

вы можете поймать событие выбора, добавив параметр «выбрать» в функцию автозаполнения. что-то вроде этого:

$(autoselect_field).autocomplete({ 
select: function (event, ui){ 
if($(autoselect_field).value=='Store_ID'){ 
//do something} 
}); 
0

Попробуйте это:

<script type="text/javascript"> 
    $(document).ready(function() { 
    $("#StoreID").on('change', function() { 
    var storeItems = $("#FilterField option:selected").text(); 
    $("#txtFilterValue").autocomplete({ 
     source: storeItems, 
     autoFocus: true 
     }); 
    } 
    }); 
    </script> 
0

Ответ очень прост, я не получил, что и раньше,

//AUTO COMPLETE 
var autoSelectedField = $("#FilterField option:selected").text(); 

$('#txtFilterValue').autocomplete({ 
    source: 'AutoCompleteHandler.ashx?selectName=' + autoSelectedField 
}); 

передать значение выбранного элемента списка и отфильтровать его обратно конец кода, как @Suprabhat Biswal сказал

Смежные вопросы