我有一个动态加载的表单,必须“预填充”一些数据。预先填充我的意思是必须预先选择select option
或input type="radiobutton"
。
当然,我正在使用jQuery ......
我很困惑,因为我希望.val()
函数将属性selected="selected"
添加到option
元素,但事实并非如此。
那怎么办?它在DOM中改变了一些东西,但我在Firebug中找不到这个改变......
通常情况下,我不关心细节,但我正在玩Selenium测试,并希望进行一项测试,检查select option
是否按预期预选,因为它没有设置{{1我想知道如何测试它?
答案 0 :(得分:0)
使用attr:
.attr(“已选中”,“已选中”)
或
<script>
$("select").change(function () {
var str = "";
$("select option:selected").each(function () {
str += $(this).text() + " ";
});
$("div").text(str);
})
.trigger('change');
</script>
答案 1 :(得分:0)
您可以使用新的jquery .prop
(docs)功能来设置或测试元素的属性。
答案 2 :(得分:0)
那怎么办?
以下是源代码:
jQuery(elem).find("option").each(function() {
this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
});
上面,this
是option
dom节点,所以你很接近。它设置selected
属性,而不是selected
属性。