javascript
  • jquery
  • html
  • model-view-controller
  • 2017-02-23 18 views 0 likes 
    0

    我想在java脚本中生成控件并将其附加到div。 它的工作完美的文本框和复选框。但是它在生成dropdownlist时不工作。Javascript - 生成控件并追加

    <script type="text/javascript"> 
        var tag = 
         '<div class="field"><div class="row"><div class="col-sm-6"><label class="control-label" style="font-size:16px;font-weight:500;">@Html.DisplayFor(m => m.CategoryMasterNewModel[i].GroupName)</label></div>' + 
         '<div>@Html.HiddenFor(m => m.CategoryMasterNewModel[i].ID) @Html.DropDownListFor(m => m.CategoryMasterNewModel[i].Result, (ViewData["ddlist_390"] as List<SelectListItem>), new { @id = Model.CategoryMasterNewModel[i].ID })</div></div></div>' 
    
        var divId = "#innerDiv_" + @Model.CategoryMasterNewModel[i].ParentID; 
    
        jQuery(divId).append(tag); 
    </script> 
    

    现在,当这段代码被执行,其同时该标签的评价产生问题。

    ,当我在控制台检查,

    是如何产生的标记,如下 -

    var tag = '<div class="field"><div class="row"><div class="col-sm-6"><label class="control-label" style="font-size:16px;font-weight:500;"><input id="CategoryMasterNewModel_15__GroupName" name="CategoryMasterNewModel[15].GroupName" type="hidden" value="Manual Override" />Manual Override</label></div>' + 
        '<div><input data-val="true" data-val-number="The field ID must be a number." data-val-required="The ID field is required." id="CategoryMasterNewModel_15__ID" name="CategoryMasterNewModel[15].ID" type="hidden" value="390" /><input data-val="true" data-val-number="The field ParentID must be a number." id="CategoryMasterNewModel_15__ParentID" name="CategoryMasterNewModel[15].ParentID" type="hidden" value="207" /><input id="CategoryMasterNewModel_15__Type" name="CategoryMasterNewModel[15].Type" type="hidden" value="Select" /><select id="390" name="CategoryMasterNewModel[15].Result"><option value="yes">yes</option> 
    <option value ="no" > no < /option> 
    <option value = "others" > others < /option> 
    </select></div > < /div></div > ' 
    

    因为那些最后三个行现在没有这个标签里面来了,因此它无法成功评估此标记。

    有没有什么办法可以把所有这些都放在标签上?

    回答

    1

    您可以通过创建自己的脚本模板尝试像这样:

    <script type="text/template" id="tagTemplate"> 
        <div class="field"> 
         <div class="row"> 
          <div class="col-sm-6"> 
           <label class="control-label" style="font-size:16px;font-weight:500;"> 
           @Html.DisplayFor(m => m.CategoryMasterNewModel[i].GroupName) 
           </label> 
          </div> 
         <div> 
          @Html.HiddenFor(m => m.CategoryMasterNewModel[i].ID) 
          @Html.DropDownListFor(m => m.CategoryMasterNewModel[i].Result, (ViewData["ddlist_390"] as List<SelectListItem>), new { @id = Model.CategoryMasterNewModel[i].ID }) 
         </div> 
        </div> 
        </div> 
    </script> 
    
    
    <script type="text/javascript">  
        var divId="#innerDiv_"+ @Model.CategoryMasterNewModel[i].ParentID; 
        jQuery(divId).append($("#tagTemplate").html()); 
    </script> 
    
    +0

    Thankksss一吨!!!! –

    相关问题