jquery:选择不按预期工作

时间:2011-08-12 22:26:25

标签: javascript jquery

我有以下HTML选择框片段:

<select id="Obj_cboscreen" class="menubarselect" name="page">
<option att="1stOption" value="0" selected="">abc</option>
<option att="2ndOption" value="1">def</option>

当我运行以下代码时:

var attribute = $('#Obj_cboscreen :selected').attr('att');
var name = $('#Obj_cboscreen :selected').html();

我得到1stOption和abc(分别)。

当我将选择框更改为其他选项时,例如:

<select id="Obj_cboscreen" class="menubarselect" name="page">
<option att="1stOption" value="0">abc</option>
<option att="2ndOption" value="1" selected="">def</option>

我之前获得了相同的输出结果。

“1stOption and abc”

现在我注意到了选中的=“”。这看起来不对,我在项目中环顾四周,我无法找到正在制作的地方,但它正在渲染。

我想知道为什么选择的选择器无法正常工作?

4 个答案:

答案 0 :(得分:4)

以下代码适用于我 -

var attribute = $('#Obj_cboscreen :selected').attr("att");
var name = $('#Obj_cboscreen :selected').html();

alert(attribute + name);

您的代码有一些变化。

attr(att)attr("att")

$('#Obj_cboscreen:selected')$('#Obj_cboscreen :selected')

以下jsfiddle显示将“selected”属性添加到第二个选项时的代码。

http://jsfiddle.net/ipr101/bjWt3/

答案 1 :(得分:4)

att有问题,我认为这应该用引号括起来, 像

var attribute = $('#Obj_cboscreen option:selected').attr("att");

在选中时缺少True,总是格式化你的html,因为有时它表现得很罕见

<select id="Obj_cboscreen" class="menubarselect" name="page">
<option att="1stOption" value="0">abc</option>
 <option att="2ndOption" value="1" selected="true">def</option>

答案 2 :(得分:2)

这里看看这个 - 也许它会帮助你:

http://jsfiddle.net/dKyrM/

答案 3 :(得分:0)

&#13;
&#13;
var attribute = $('#Obj_cboscreen option[selected=true]').attr("att");
alert(attribute);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<select id="Obj_cboscreen" class="menubarselect" name="page">
<option att="1stOption" value="0">abc</option>
<option att="2ndOption" value="1" selected="true">def</option>
&#13;
&#13;
&#13;