问题是我无法将合并的内容添加到customId的div块。 Follwing就是代码。
var selectedTemplate;
var selectedAssignment;
var mergeValue;
var divContent = "<div id='" + criterion.id + "' customId='" + mergeValue + "' style='font-weight:bold; font-style:italic;'>" + criterion.expression + " " +
</div>\n";
selectedTemplate = $("#criteriaTemplate option:selected").val(); // 1st dropdown value
selectedAssignment = $("#criteriaOptions option:selected" ).val(); // 2nd dropdown value
mergeValue = selectedTemplate + selectedAssignment;
我试图将合并内容附加到块中的customID,但是当我检查InspectElement
时,它在浏览器中显示如下
<div id="8a808088442eb48001442efe70f20010" customid="undefined" style="font-weight:bold; font-style:italic;">some Text here </div>
建议我一些解决方案
答案 0 :(得分:2)
您在设置值之前使用合并变量(mergeValue
),因此请使用
var selectedTemplate = $("#criteriaTemplate option:selected").val(); // 1st dropdown value
var selectedAssignment = $("#criteriaOptions option:selected").val(); // 2nd dropdown value
var mergeValue = selectedTemplate + selectedAssignment;
var divContent = "<div id='" + criterion.id + "' customId='" + mergeValue + "' style='font-weight:bold; font-style:italic;'>" + criterion.expression + " " +
"<a href='#' onclick=\"removeCriterion('" + criterion.id +
"')\"><spring:message code="
form.text.criteria.remove "/></a></div>\n";
alert("this is the Assignment value in add block: " + selectedAssignment); // success
alert("This should be the template in add block: " + selectedTemplate); // success
alert("Merged: " + mergeValue);
答案 1 :(得分:2)
在使用变量之前,您必须将作业 mergeValue = selectedTemplate + selectedAssignment; 。
完整的代码是:
var selectedTemplate;
var selectedAssignment;
var mergeValue;
selectedTemplate = $("#criteriaTemplate option:selected").val(); // 1st dropdown value
selectedAssignment = $("#criteriaOptions option:selected" ).val();
mergeValue = selectedTemplate + selectedAssignment;
var divContent = "<div id='" + criterion.id + "' customId='" + mergeValue + "' style='font-weight:bold; font-style:italic;'>" + criterion.expression + " " +
</div>\n";
答案 2 :(得分:1)
需要在构造div之前设置mergeValue
的值。
var selectedTemplate;
var selectedAssignment;
var mergeValue;
selectedTemplate = $("#criteriaTemplate option:selected").val(); // 1st dropdown value
selectedAssignment = $("#criteriaOptions option:selected" ).val(); // 2nd dropdown value
mergeValue = selectedTemplate + selectedAssignment;
var divContent = "<div id='" + criterion.id + "' customId='" + mergeValue + "' style='font-weight:bold; font-style:italic;'>" + criterion.expression + " " +
</div>\n";
答案 3 :(得分:1)
var selectedTemplate;
var selectedAssignment;
var mergeValue;
selectedTemplate = $("#criteriaTemplate option:selected").val(); // 1st dropdown value
selectedAssignment = $("#criteriaOptions option:selected" ).val(); // 2nd dropdown value
mergeValue = selectedTemplate + selectedAssignment;
var divContent = "<div id='" + criterion.id + "' customId='" + mergeValue + "' style='font-weight:bold; font-style:italic;'>" + criterion.expression + " " +
</div>\n";
我认为这应该有效。在您的代码中,您在分配之前使用mergeValue。这就是未定义的原因。