Как сохранить выпадающий выделенный текст в скрытом поле с помощью jQuery

#c# #jquery #asp.net

#c# #jquery #asp.net

Вопрос:

Я новичок в Jquery, и Google artical мне не помогает. Я знаю, что это будет очень просто. Любым способом, каким я могу сохранить выпадающее выбранное значение в скрытом поле, я хочу сохранить выбранный элемент в другом скрытом поле, но не могу сделать то же самое. Может ли кто-нибудь мне помочь?

сохранение выпадающего значения работает отлично

 $('#ddlLocation').change(function (e) {
                $('#hdnvalue').val(this.value);
            });
  

hdnvalue является ли мой скрытый идентификатор файла для хранения значения

сохранение выделенного текста не работает:

  $('#ddlLocation').change(function (e) {
                $('#hdnvalue').val(this.value);
                $('#hdntext').val($("#ddlLocation option:selected").text()); 
            });
  

hdntext является ли мой другой скрытый идентификатор файла для хранения текста

Комментарии:

1. ваш код должен работать, но можете ли вы поделиться соответствующим HTML-кодом в сообщении? также используйте фрагмент кода для его воспроизведения

2. @BhushanKawadkar конечно, пожалуйста, проверьте мой обновленный код

3. @saf не могли бы вы посмотреть консоль, если есть какая-либо ошибка?

4. @JamshaidKamran на консоли нет ошибки

5. Тогда это означает, что ваши события не привязаны к вашему элементу управления

Ответ №1:

Привет, у меня есть простое решение для этого.

  <script type="text/javascript">
   
   $("#example").on("change",function(){
      $this = $("#example option:selected");
       
        $("#storeValue").val($this.val());
        $("#storeText").val($this.text());
       

   });
 </script>  
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> 
   
 </head>
 

 <select id="example">
   <option value="one">one-text</option>
   <option value="two">two-text</option>
   <option value="three">three-text</option>
   <option value="four">four-text</option>
 </select>

 <input type="hidden" id="storeValue">
 <input type="hidden" id="storeText">  

    $("#example").on("change",function(){
      $this = $("#example option:selected");
       
        $("#storeValue").val($this.val());
        $("#storeText").val($this.text());
       

   });  
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<select id="example">
   <option value="one">one-text</option>
   <option value="two">two-text</option>
   <option value="three">three-text</option>
   <option value="four">four-text</option>
 </select>

 <input type="hidden" id="storeValue">
 <input type="hidden" id="storeText">  

Комментарии:

1. Я заменяю свой код, как предложено $(«#storeText»).val($this.text()); отображение ошибки this.text не является функцией

2. здравствуйте, вы должны поместить вот так $this = $(«#storeText option:selected»);

3. а также, пожалуйста, проверьте свою версию jquery

4.

5. или вы также можете использовать $this = $(this).find(«option:selected»); Надеюсь, ваша проблема теперь решена

Ответ №2:

Из комментариев и описания я предполагаю, что идентификатор DropDownList ddlLocation изменяется, и, следовательно, вы не можете связать с ним какое-либо событие jquery. Я рекомендую привязать DropDownList подобное:

 $('#<%= ddlLocation.ClientID %>').change(function (e) {
    $('#<%= hdnvalue.ClientID %>').val($(this).val());
    // DoStuff
});