show multi select id by js

后端 未结 4 452
佛祖请我去吃肉
佛祖请我去吃肉 2021-01-26 05:33

I need show selection id by js, by this code only show 1 and first select id

my code is this html and javascript



  
                        
    
提交评论

  • 2021-01-26 05:49

    You are already aware now that id of the element on page should be unique.

    When you have multiple elements with same id then id(#) selector returns the first matched element. So as mentioned in other answers you should use class if possible.

    By any reason if you can't use the class and want to find with id then you can use it like $('select#jens_id') or $('[id="jens_id"]') and to get the selected option use context to this which will find the selected option for changed select element.

    $(document).ready(function() {
       $('select#jens_id').change(function() {
          alert($(this).find('option:selected').text());
       });
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <select name="jens_id[]" id="jens_id" required="">
        <option ></option>
        <option >1</option>
        <option >2</option>
      </select>
    
    <select name="jens_id[]" id="jens_id" required="">
        <option ></option>
        <option >3</option>
        <option >4</option>
      </select>

    Add multiple attribute to select if multiple values needs to be selected.

    0 讨论(0)
  • 2021-01-26 05:59

    The id attribute should be unique within the page otherwise only the first one gets selected(using id selector), for a group of elements use a common class instead and within the change event handler use this to refer the clicked element.

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <table>
      <tr>
        <td>
          <select name="jens_id[]" class="jens_id" required="">
        <option ></option>
        <option >1</option>
        <option >2</option>
      </select>
        </td>
        <td></td>
      </tr>
      <tr>
        <td>
          <select name="jens_id[]" class="jens_id" required="">
        <option ></option>
        <option >1</option>
        <option >2</option>
      </select>
        </td>
        <td></td>
      </tr>
    </table>
    <script>
      $(document).ready(function() {
        // or use attribute equals selector
        // $('[name="jens_id[]"]')
        $('.jens_id').change(function() {
          statteId = $(this).val(); // or this.value
          console.log(statteId);
          // get the td and update with value
          $(this).parent().next().text(statteId);
        });
      });
    </script>

    0 讨论(0)
  • 2021-01-26 06:03

    Try with each() function of jquery .And change the selector with Tagname or ClassName instead of id .Id is a unique for full document

    $(document).ready(function() {
      $('select').each(function(){
       console.log($(this).val())
      })
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <tr>
      <td>
        <select name="jens_id[]" id="jens_id" required="">
        <option ></option>
        <option selected>1</option>
        <option >2</option>
      </select>
      </td>
    </tr>
    <tr>
      <td>
        <select name="jens_id[]" id="jens_id" required="">
        <option ></option>
        <option >1</option>
        <option selected>2</option>
      </select>
      </td>
    </tr>

    0 讨论(0)
  • 提交回复
    热议问题