次のように定義されたajaxsubmitメソッドがあります
var new_options = {
dataType: 'json',
beforeSubmit: function() {
alert('inside before submit');
$(".available_script_arguments").each(function(index) {
argument_id = $(this).val()
$("td#argument_"+argument_id).addClass("resource_automation_loader");
});
},
success: function(data) {
alert('inside success');
$(".available_script_arguments").each(function(index) {
argument_id = $(this).val()
$("td#argument_"+argument_id).removeClass("resource_automation_loader");
$("td#argument_"+argument_id).html(data[argument_id]).html();
$("td#argument_"+argument_id).html("<span></span>");
updateTargetArgumentId();
triggerAdapterResourceAutomation();
});
},
error: function(jqXHR, textStatus, errorThrown){
alert('inside error');
$(".resource_automation_loader").each(function(){
// This will hide the loader
$(this).removeClass("resource_automation_loader");
// This will display text N.A indicating the resource automation has failed
$(this).html("<input type='text' value='' placeholder='N.A'></input>");
});
}
};
$("form#update_resource_automation_parameters").ajaxSubmit(new_options);
この機能は Firefox では正常に動作しますが、IE7 では動作しません。
その理由を突き止めたところ、成功コールバックで使用されているjquery html関数で出てきました。
成功のコールバック データのように、html (div と select の組み合わせ) として送信されます。
成功コールバックでデータを検査した後 (以下に示す)
<div >
<select arg_val="null">
<option value="">Select</option>
<option value="0">Corporate Strategic</option>
<option value="1">Business Unit Strategic</option>
<option value="2">Maintenance</option>
<option value="3">Defect</option>
</select>
</div>
したがって、このデータは基本的にビューの選択リストに出力されますが、これは IE7 では機能しません。
誰かがこれについて何か考えを持っているかどうか教えてください。
ありがとう、ディーン。