2011-02-03 19 views
5

Así que estoy usando plantillas jQuery y tienen el siguiente código de trabajo en mi solicitud:Plantillas jQuery - reemplazar el contenido DIV

@using (Html.BeginForm()) 
    { 
     @Html.DropDownList("StateList", 
          Model.States, 
          "<Select>" 
          ) 

     <div id="designCenters"></div> 

     <script id="designCenterTemplate" type="text/html"> 
      <p><li>${Name}</li></p> 
     </script>   
    } 

    <script language="javascript" type="text/javascript"> 
     $("#StateList").change(function() { 
      $.getJSON("/api/designcentersbystate/" + $(this).val(), 
       function (data) { 
        $("#designCenterTemplate").tmpl(data).appendTo("#designCenters") 
       }); 
     }); 
    </script> 

Desde que estoy llamando .appendTo en el parámetro de función de devolución de la función de plantilla, obviamente, la lista de centros de diseño se agrega a la lista. Mi objetivo es REEMPLAZAR el contenido dentro de <div id="designCenters"> con los resultados de plantilla.

Buscando la forma más eficiente de hacerlo.

Gracias.

Respuesta

9

cambiar la función del éxito de este modo:

function (data) { 
    $("#designCenters").html($("#designCenterTemplate").tmpl(data)) 
} 

O usted podría vaciar el depósito cada vez.

$("#designCenters").empty(); 
$("#designCenterTemplate").tmpl(data).appendTo("#designCenters"); 
+0

Bingo. Aceptaré esto como la respuesta en 10 minutos. – Scott

1

Puede sustituir el HTML en un elemento como este:

$("#designCenters").html(YOUR HTML HERE); 
+0

He intentado cambiar el código de la plantilla a:. $ ("# DesignCenterTemplate") tmpl (datos) .html ("# designCenters"), pero que no tiene otro efecto que hacer que se detenga por completo que muestra la plantilla datos (sin errores JS). Algo nuevo para jQuery, así que probablemente sea un problema básico con la forma en que lo estoy llamando. – Scott

+0

que acaba de utilizar el método html incorrectamente. Mi versión es correcta La respuesta de Josiash es similar a la mía pero más completa para su escenario – stephen776

Cuestiones relacionadas