2013-06-24 2 views
0

Я добавляю скрытый ввод, поскольку что-то в select выбирается, используя событие onchange с некоторыми jsp vars. Я добавляю текст в div, над которым я работаю, но слишком много цитат и двойных кавычек, поэтому я не понимаю, как это сделать. Кто-нибудь есть идеи?использование двойных кавычек в javascript

<select name="opt_name%>" onchange="$('#dati_opzioni').append('<input type="hidden" name="optdesc_'+<%=opt.getCdOpzione()%>+'" value="'+<%=optLabel%>+'_'+this.options[this.selectedIndex].text+'"/>');">

+0

HTTP : //stackoverflow.com/questions/8007672/escaping-the-double-quote-that-is-in-the-attribute-of-an-html-tag – Dogbert

+3

Не было бы лучше и понятнее использовать событие l isteners вместо встроенных обработчиков? – DCoder

ответ

1

Попробуйте использовать HTML сущности для двойных кавычках (как & Quot; без пробелов) внутри OnChange = "..."

<select name="opt_name%>" onchange="$('#dati_opzioni').append('<input type=&quot;hidden&quot; name=&quot;optdesc_'+<%=opt.getCdOpzione()%>+'&quot; value=&quot;'+<%=optLabel%>+'_'+this.options[this.selectedIndex].text+'&quot;/>');"> 
+1

Не работает, атрибуты не используют escape-последовательности '\\'. http://stackoverflow.com/questions/8007672/escaping-the-double-quote-that-is-in-the-attribute-of-an-html-tag – Dogbert

+0

не знал, редактируя ответ –

0

попробовать это:

<select name="<%=opt_name%>" onchange="$('#dati_opzioni').append('<input type=""hidden"" name=""optdesc_'+<%=opt.getCdOpzione()%>+'"" value=""'+<%=optLabel%>+'_'+this.options[this.selectedIndex].text+'""/>');">