0

我想检索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>

我正在这样做。

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

但由于某种原因,它不起作用。

有人可以帮忙吗?

编辑

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

4

8 回答 8

1
$("#zaal option:selected").attr('value'); // will return you ~@ITEM.ID~

要获得id

$("#zaal option:selected").attr('id'); // will return you ZAALNAME

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;

});
于 2012-05-25T12:13:54.547 回答
0

也许尝试:

$("#zaal option:selected").val();

另外,尝试将 div 移到选择元素之外。

于 2012-05-25T12:13:08.617 回答
0

看这个问题:

<div> 和 <select> 标签

您只能将<option>or<optgroup>放在一个<select>. 如果你想把其他东西放在那里,你必须自己做一些清单。

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


如果我将您提供给我的 HTML(带有已编辑的字符串)放入 Google Chome,这就是您的代码的组成部分:

<select name="zaal" id="zaal">
  <option value="x" id="ZAALNAME">X, Y</option>
</select>
于 2012-05-25T12:13:37.460 回答
0
$("#zaal option[value='0']").text() 
于 2012-05-25T12:14:09.180 回答
0

试试这个:

var selectVal = $("#zaal option:selected").val();
var id = selectVal.substring(1);
console.log("id is: " + selectVal); 
于 2012-05-25T12:15:19.303 回答
0

html应该是

<select name="zaal" id="zaal">
  <option value="~@ITEM.ID~" id="ZAALNAME">~ITEM.ID~, ~ITEM.NAME~</option>
</select>
于 2012-05-25T12:15:36.527 回答
0
$('#zaal').change(function(){
    alert($($(this)+':selected').attr('id'));

});

小提琴http://jsfiddle.net/cBaZ7/1/

于 2012-05-25T12:15:59.467 回答
0

val()将检索所选选项的值。它不是id

所以试试这个:

 $("#zaal option:selected").attr("id")
于 2012-05-25T12:17:01.317 回答