2017-07-04 2 views
0

Ich versuche, generierte Smarty-Optionen-Liste in eine JavaScript-Zeichenfolge einzufügen, aber es bricht wegen der neuen Zeilen, die von Smarty generiert werden. Scheint so, als ob ich die html_option nach der Generierung nicht filtern kann.Smarty {html_options} in JavaScript Zeichenfolge

Irgendwelche Ideen oder Lösungen, irgendjemand? Vielen Dank!

<script type="text/javascript"> 
    //Smarty template 
    var option_list = '{html_options options=$options_list selected=' + selected_option + '|regex_replace:"/[\r\n]/":""}'; 
</script> 

<script type="text/javascript"> 
    //Result: 
    var option_list = '<option ....></option> //SyntaxError: unterminated string literal 
<option ....></option> 
<option ....></option>'; 
</script> 
+1

1. Verwenden Sie kein JavaScript - wrap in ein select-Tag im Dokument ODER 2. Verwenden Sie den Backtick 'anstelle von Anführungszeichen – mplungjan

Antwort

0

Das Graviszeichen (`) scheint von Typoskript Compiler geändert werden, aber zum Glück habe ich endlich etwas Abhilfe:

<script> 
var options = '{html_options|strip ...}'; 
</script> 

Aber wir müssen auch danach das ausgewählte Element setzen:

$('#select_id').val(selected_option);