我有以下代码: -
//-- function to enable editing of content if disabled for new records --\\
function edit(e,elems)
{
if ( e.value == "new" )
{
$(e).parent().parent().find(":input[readonly]").each(function(index) {
$(this).prop('readonly',false);
$(this).addClass('highlight');
});
$(e).parent().parent().find("select[disabled]").each(function(index) {
$(this).prop('disabled',false);
$(this).addClass('highlight');
//-- Insert dynamic options --\\
if ($(this).attr('name') == 'low')
{
var optVal = "option[value='" + $(this).val() + "']";
var optclone = $("#affoptions").clone();
$(optclone).find(optVal).attr("selected",true);
$(this).html($(optclone).find("option"));
}
if ($(this).attr('name') == 'high')
{
var optVal = "option[value='" + $(this).val() + "']";
optclone = $("#insoptions").clone();
$(optclone).find(optVal).attr("selected",true);
$(this).html($(optclone).find("option"));
}
});
$(e).parent().parent().find(elems).focus();
} else {
$(e).parent().parent().find(elems).each(function(index) {
if ( $(this).is('select') )
{
$(this).prop('disabled',true);
} else {
$(this).prop('readonly',true);
}
$(this).removeClass('highlight');
});
}
}
在Google Chrome中可以正常使用,但在IE 8中不起作用。 基本上我有一个带单选按钮的表单,其中一个用于新条目。这基本上启用了输入文本字段并删除了选择字段的禁用标志。 禁用时,选择选项中只有1个值。单选按钮插入隐藏div中的所有可用选项,并在新选项中标记所选索引值以匹配初始加载中的单个条目。
在IE中,完全消除了选择选项,甚至没有留下任何内容。
我无法使其正常工作并假设克隆元素存在问题。
我做错了什么?
由于 克雷格
答案 0 :(得分:0)
没关系,我最终弄明白了。 我的代码很好,问题是IE不喜欢这个事实,我隐藏的DIV与我克隆的选项,缺少SELECT标签。去图。
所以改变这个: -
<div id="affoptions" class="options">
<option value="0001">0001 | A</option>
<option value="0002">0002 | B</option>
<option value="*">* | All</option>
<option value="0003">0003 | C</option>
<option value="0004">0004 | D</option>
</div>
对此: -
<div id="affoptions" class="options">
<select>
<option value="0001">0001 | A</option>
<option value="0002">0002 | B</option>
<option value="*">* | All</option>
<option value="0003">0003 | C</option>
<option value="0004">0004 | D</option>
</select>
</div>
解决了它。
干杯 克雷格