我需要按js显示选择ID,此代码仅显示1并首先选择id
我的代码是这个html和javascript
<tr>
<td>
<select name="jens_id[]" id="jens_id" required="" >
<option ></option>
<option >1</option>
<option >2</option>
</select>
</td>
</tr>
<tr>
<td>
<select name="jens_id[]" id="jens_id" required="" >
<option ></option>
<option >1</option>
<option >2</option>
</select>
</td>
</tr>
<script>
$(document).ready(function(){
$('#jens_id').change(function(){
statteId = $("#jens_id").val()
alert(statteId);
});
});
</script>
可以帮助编辑脚本
答案 0 :(得分:0)
尝试使用jquery的each()
函数。并使用Tagname
或ClassName
而不是id
更改选择器.Id是完整文档的唯一
$(document).ready(function() {
$('select').each(function(){
console.log($(this).val())
})
});
&#13;
<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>
&#13;
答案 1 :(得分:0)
id
属性在页面中应该是唯一的,否则只有第一个属性被选中(使用id选择器),因为一组元素使用公共类,而在change事件处理程序中使用{{1}引用点击的元素。
this
答案 2 :(得分: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>
答案 3 :(得分:0)
您现在已经知道页面上元素的ID应该是唯一的。
当你有多个具有相同id的元素时,Removed claim: instance of (P31): siege engine (Q655697)
Created claim: subclass of (P279): siege engine (Q655697)
选择器返回第一个匹配的元素。正如在其他答案中提到的那样,如果可能,你应该使用课程。
如果您无法使用该类并想要使用ID查找,那么您可以像id(#)
或$('select#jens_id')
一样使用它,并获取所选选项使用上下文{{{ 1}}将找到更改的选择元素的选定选项。
$('[id="jens_id"]')
&#13;
this
&#13;
添加$(document).ready(function() {
$('select#jens_id').change(function() {
alert($(this).find('option:selected').text());
});
});
属性以选择是否需要选择多个值。