我无法弄清楚为什么它只在chrome上工作,而它在firefox上工作,即。
HTML CODE:
<select name="goyale" id="goyale">
<option value="0">Select</option>
<option value="1">Fish</option>
<option value="2">Chicken</option>
<option value="3">Meat</option>
</select>
jQuery CODE:
$(document).ready(function () {
$("select#goyale option[value='<?php echo $row['goyale']; ?>']").attr("selected", "selected");
});
每当我检查chrome上的元素时,它会将选项显示为<option value="3" selected="selected">Meat</option>
,但该选项在肉眼显示时不会显示。
感谢。
答案 0 :(得分:4)
尝试使用Prop方法。我在Safari,Opera,Firefox和Chrome上测试过,它运行良好。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Test - Option selected - jQuery</title>
</head>
<body>
<form>
<select>
<option value="11">aa</option>
<option value="22">bb</option>
<option value="33">cc</option>
<option value="44">dd</option>
</select>
</form>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
$(function(){
$('select option:last').prop('selected','selected');
});
</script>
</body>
</html>
您可以在此处找到更多信息:
答案 1 :(得分:1)
您正在寻找select
id
goyale
的所有goyale
元素。在您的HTML中,name
是您元素的$(function(){
$("select[name='goyale']").etc();
});
属性。
请改用:
prop()
另外,使用option
将所选属性添加到$("option[value='<?php echo $row['goyale']; ?>']").prop("selected",true);
元素:
prop()
有关{{1}} here的更多信息。
答案 2 :(得分:1)
问题在于jQuery 1.6,一旦我更新到jQuery 1.7,问题就消失了,select函数按预期工作。谢谢,我应该在发布之前更新到最新版本。
答案 3 :(得分:1)
我希望这能解决你的问题
$("#goyale").val("<?php echo $row['goyale']; ?>");
答案 4 :(得分:0)
确定这样做,在标签中给出id =“goyale”,因为可能是chrome不支持选择器#id选择器为“name”attrib,否则尝试选项[name = goyale] jquery的选择器