2016-10-18 1 views
1

Я использую автозаполнение jquery в текстовое поле на основе dropdown.i создали WebMethod, а затем в представлении (.aspx), я хочу передать выпадающее выбранное значение в запросе. Вот мой код:Как передать выпадающее значение в коде автозаполнения

function AutoFill() { 

    $(".autocomp").autocomplete({ 
    source: function(request, response) { 
     $.ajax({ 
     url: 'Tourplan_tourname.aspx/GetCitYByName', 
     data: '{ "selectedtext": "' + { 
      postcode: $('#ddlTravelType').val() 
     } + ',"city": "' + request.term + '"}', 
     dataType: "json", 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     success: function(data) { 
      if (data.d.length > 0) { 
      response($.map(data.d, function(item) { 
       return { 
       val: item.split('-')[0], 
       label: item.split('-')[1] 
       }; 
      })) 

      } else { 
      response([{ 
       label: 'No results found.', 
       val: -1 
      }]); 
      } 

     } 


     }); 
    }, 
    select: function(e, i) { 
     $("[id$=hdnCitiId]").val(i.item.val); 
     if (i.item.val == -1) { 
     $(this).val(""); 
     return false; 
     } 
    }, 
    minLength: 1 
    }).addClass("fixedHeight");; 

} 

Вот мой WebMethod:

[WebMethod] 
public static string[] GetCitYByName(string selectedtext, string city) 
{ 
    try 
    { 
    return BALHotelMaster.GetCitYByName(selectedtext, city); 
    } 
    catch (Exception ex) 
    { 
    throw ex; 
    } 
} 
+0

Вот мой WebMethod: –

+0

[WebMethod] общественности статической строки [] GetCitYByName (строка selectedtext, строка города) { попробовать { return BALHotelMaster.GetCitYByName (выбранный текст, город); } улов (исключение ex) { throw ex; } } –

+0

Мой вопрос: Как мне передать 2 параметра в код автозаполнения ?? –

ответ

0

Из документации: -

source: Multiple types supported:

Массив: массив может использоваться для локальных данных. Есть два поддерживаемых форматов: массив строк: [ «Choice1», «Choice2»] Массив объектов с этикетками и значением свойства: [{этикетки: «Choice1», значение: «значение1»} , ...] В меню предложений отображается метка . Значение будет , вставленное во входной элемент, когда пользователь выбирает элемент. Если только указано одно свойство, оно будет использоваться для обоих, например, если вы используете только значения свойств, это значение также будет использоваться как метка .

Так изменить val свойство value: -

response($.map(data.d, function(item) { 
    return { 
    value: item.split('-')[0], 
    label: item.split('-')[1] 
    }; 
})) 
+0

i Хочу передать выпадающее значение в выбранном тексте: так как я должен это делать? –

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

  • Нет связанных вопросов^_^