无法将连接值附加到div块中的customId

时间:2014-02-14 06:51:00

标签: javascript jquery html css

问题是我无法将合并的内容添加到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 + "&nbsp;&nbsp;&nbsp;&nbsp;" +
                      </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 &nbsp;&nbsp;&nbsp;&nbsp;</div>

建议我一些解决方案

4 个答案:

答案 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 + "&nbsp;&nbsp;&nbsp;&nbsp;" +
    "<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 + "&nbsp;&nbsp;&nbsp;&nbsp;" +
                              </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 + "&nbsp;&nbsp;&nbsp;&nbsp;" +
                      </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 + "&nbsp;&nbsp;&nbsp;&nbsp;" +
                  </div>\n";

我认为这应该有效。在您的代码中,您在分配之前使用mergeValue。这就是未定义的原因。