2015-04-17 5 views
0

У меня есть веб-форма с переключателями и поле ввода для автозаполнения. На основе выбранного переключателя необходимо вызвать другой веб-сервис (url) для работы с данными, которые пользователь вводит в поле ввода. Следующий код работает хорошо, но я не знаю, как сделать его более гибким, чтобы принимать разные URL-адреса.jquery autocomplete с несколькими источниками

 $("#txtCriteria").autocomplete({ 
    source: function (request, response) { 
     $.ajax({ 
      async: false, 
      delay: 500, 
      url: "../../CommonWebServices/wsEntity.asmx/ReportBuildings", 
      data: "{ 'Name': '" + request.term + "'}", 
      dataType: "json", 
      type: "POST", 
      contentType: "application/json; charset=utf-8", 
      dataFilter: function (data) { return data; }, 
      success: function (data) { 
       response($.map(data.d, function (item) { 
        return { 
         label: item.Text, 
         value: item.Value 
        } // end of return 
       })) // end of response 
      } // end of success 
     });  // end of ajax 
    }, // end of source 
    minLength: 1, 
}); 

Это радиокнопки. Поэтому, если я выбираю Region, URL-адрес веб-службы отличается от здания.

     <input id="Radio1" type="radio" value="S" name="rblRptChoice" class="label" checked="checked" />State Wide<br /> 
       <input id="Radio2" type="radio" value="P" name="rblRptChoice" class="label" />Prosperity Region<br /> 
       <input id="Radio3" type="radio" value="R" name="rblRptChoice" class="label" />Region<br /> 
       <input id="Radio4" type="radio" value="T" name="rblRptChoice" class="label" />Cluster<br /> 
       <input id="Radio5" type="radio" value="C" name="rblRptChoice" class="label" />CEPD<br /> 
       <input id="Radio6" type="radio" value="F" name="rblRptChoice" class="label" />Fiscal Agency<br /> 
       <input id="Radio7" type="radio" value="B" name="rblRptChoice" class="label" />Building<br /> 
       <input id="Radio8" type="radio" value="P" name="rblRptChoice" class="label" />CIP Code<br /> 
       <input id="Radio9" type="radio" value="Y" name="rblRptChoice" class="label" />Year<br /><br /> 
       <asp:Label ID="lblDetails" runat="server" Text="Enter Details"></asp:Label><br /> 
       <input id="txtCriteria" type="text" placeholder="Enter Criteria" style="width:250px" /> 

Любая помощь приветствуется.

+0

Функция 'source' вызывается каждый раз, когда автозаполнение ищет новый термин. Ничто не мешает вам заставить значение «url:» в вызове ajax зависеть от того, какой радио-вход выбран в настоящий момент – blgt

ответ

0

Я установил значение пути в переменную при выборе переключателя, а затем установил URL-адрес переменной.

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