以下代码运行并为每个select元素返回正确的值,除了它没有获取元素的id或名称。它总是返回undefined。
$("#MainContent_Button3").click(function (event) {
$(".quantities option:selected").each(function (i) {
alert($(this).attr('id') + " : " + $(this).val());
});
$('#medications').trigger('close');
});
我试过了:
alert($(this).attr('name') + " : " + $(this).val());
alert(this.attr('id') + " : " + $(this).val());
alert($(this).attr('id') + " : " + $(this).val());
alert($(this).prop('id') + " : " + $(this).val());
alert(this.id + " : " + $(this).val());
alert(i.id + " : " + $(this).val());
这是HTML
<select id="ddl1" name="ddl3" class="quantities">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
</select>
答案 0 :(得分:2)
您必须找到最近的父select
标记才能获得当前select
的{{1}}。每个关键字代表option
而不是option
。
select
答案 1 :(得分:1)
$(".quantities option:selected") //-- Returns the option element
你需要实际上是父母的选择元素,所以尝试如下,
$(".quantities option:selected").each(function (i) {
var $parent = $(this).parent();
alert($parent.attr('id') + " : " + $parent.val());
});
我假设你有更多代码可以使用option
元素,如果没有迭代$('.quantities')
,那么this
将select
而不是option
} element。