【发布时间】:2017-01-20 11:39:25
【问题描述】:
我有一个使用 .NET MVC 从模型动态生成的 HTML 代码。在字段之间有一个 select with selected 选项(基于模型中的数据)。
<select class="myClass" data-val="true" id="sampleSelect" name="sampleSelect">
<option value="">Select an option</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3" selected="selected">3</option>
</select>
我想像这样使用 jQuery 附加更改事件:
$('#sampleSelect').change(function () {
var test = $('#sampleSelect').val();
});
或者像这样:
$('#sampleSelect').on('change', function () {
var test = $('#sampleSelect').val();
});
或者即使是委托......这些都不起作用。似乎没有进行任何更改,选项值 3 保留为 selected 属性。
我不想修改 HTML,我只是使用正确的 javascript 代码来捕获事件。
你有什么建议吗?
编辑:选择的属性保持在值 3。即使我选择了不同的项目。并且更改事件不会触发。我不知道为什么。这是我的问题。
最终编辑:我的错,选择是以正确的方式完成的。问题是有 2 个选择具有相同的 id,而 jQuery 一直在屏幕上的其他地方选择隐藏的那个。
感谢您的快速回答。
【问题讨论】:
-
如果您选择相同的元素,则没有变化。所以事件不会触发。
-
由于您的时间安排,这些可能不起作用。如果您的 html 是在您的 jQuery 代码运行之后生成的,那么该代码不会影响 html 元素。如果是这种情况,您需要将代码附加到已经存在的元素上,例如下面的答案或stackoverflow.com/questions/203198/…
-
您的代码运行正常,有什么问题
-
您的意思是...
change事件未触发或所选选项未更新?
标签: javascript jquery html html-select