Javascript 如何使用jquery在html中获取所选选项

Javascript 如何使用jquery在html中获取所选选项,javascript,jquery,html,Javascript,Jquery,Html,我想检索我选择的选项的id。在这里你可以看到我的HTML <select name="zaal" id="zaal"> <DIV CONTENTEDITABLE="FALSE" ID="MACONTAINER" MACONSTRAINT="" MAPARAMETER="ZALEN"> <DIV CONTENTEDITABLE="TRUE" ID="MAITEM"> <option value="~@ITEM

我想检索我选择的选项的id。在这里你可以看到我的HTML

<select name="zaal" id="zaal">
    <DIV CONTENTEDITABLE="FALSE" ID="MACONTAINER" MACONSTRAINT="" MAPARAMETER="ZALEN">
        <DIV CONTENTEDITABLE="TRUE" ID="MAITEM">
            <option value="~@ITEM.ID~" id="ZAALNAME">~ITEM.ID~, ~ITEM.NAME~</option>
        </DIV>
    </DIV>
</select>
但由于某种原因,它不会起作用

有人能帮忙吗

编辑

好的,div是问题所在。但是我需要这些来从我的数据库中获取我的值。因此,我认为我需要找到另一种解决方案,而不是选择。

也许可以尝试:

$("#zaal option:selected").val();
另外,尝试将div移到select元素之外。

看看这个问题:

你只能把它放在一个盒子里。如果你想把其他东西放进去,你必须自己列一些清单

无论如何,为什么要将任何div放在select中

如果我把你给我的带有编辑字符串的HTML放在Google Chome中,你的代码就是这样组成的:

<select name="zaal" id="zaal">
  <option value="x" id="ZAALNAME">X, Y</option>
</select>
获取身份证

要在选择更改时获取id,请尝试以下操作:

$('#zaal').on('change', function() {

  // To get id
  $('option:selected', this).attr('id');

  $('option:selected', this).attr('value'); // return the value of selected option

  // To get the select box value
  var value = this.value;

});
 $("#zaal option:selected").attr("id")
试试这个:

var selectVal = $("#zaal option:selected").val();
var id = selectVal.substring(1);
console.log("id is: " + selectVal); 
html应该是

<select name="zaal" id="zaal">
  <option value="~@ITEM.ID~" id="ZAALNAME">~ITEM.ID~, ~ITEM.NAME~</option>
</select>
FIDLE将检索所选选项的值。不是身份证

所以试试这个:

$('#zaal').on('change', function() {

  // To get id
  $('option:selected', this).attr('id');

  $('option:selected', this).attr('value'); // return the value of selected option

  // To get the select box value
  var value = this.value;

});
 $("#zaal option:selected").attr("id")

select元素应该只包含option或optgroup元素;jQuery无法与其他问题分开工作的原因是,您的HTML无效,而浏览器正试图通过某种方式更正DOM来“拯救”它。@所有答案:您不能选择其中的任何元素,因为它不是有效的HTML!如果绑定的事件不是.change,则执行:$'zaal选项:selected'.attr'id'
<select name="zaal" id="zaal">
  <option value="~@ITEM.ID~" id="ZAALNAME">~ITEM.ID~, ~ITEM.NAME~</option>
</select>
$('#zaal').change(function(){
    alert($($(this)+':selected').attr('id'));

});
 $("#zaal option:selected").attr("id")