I need show selection id by js, by this code only show 1 and first select id
my code is this html and javascript
相关标签: 4条回答 情书的邮戳 2021-01-26 05:46 $(document).ready(function() { $('.jens_id').change(function() { statteId = $('option:selected', this).text() alert(statteId); }); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select name="jens_id[]" class="jens_id" required=""> <option ></option> <option >1</option> <option >2</option> </select> <select name="jens_id[]" class="jens_id" required=""> <option ></option> <option >3</option> <option >4</option> </select> ID should be unique, use class and use this context to tell the current changed select 0 讨论(0) 发布评论: 提交评论 加载中... 隐瞒了意图╮ 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) 发布评论: 提交评论 加载中... 验证码 看不清? 提交回复 热议问题
$(document).ready(function() { $('.jens_id').change(function() { statteId = $('option:selected', this).text() alert(statteId); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select name="jens_id[]" class="jens_id" required=""> <option ></option> <option >1</option> <option >2</option> </select> <select name="jens_id[]" class="jens_id" required=""> <option ></option> <option >3</option> <option >4</option> </select>
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.
id(#)
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.
$('select#jens_id')
$('[id="jens_id"]')
this
$(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.
multiple
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.
id
<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>
Try with each() function of jquery .And change the selector with Tagname or ClassName instead of id .Id is a unique for full document
each()
Tagname
ClassName
$(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>