2014-11-28 2 views
0

У меня есть опция выбора, для которой я хочу установить выбранное значение в скрытом теге ввода. Я определил их в файлах FTL. Я использую теги struts для хранения. Но, тем не менее, он не хранит. Вот мой кодСкрытое значение не указывает тег select в struts UI tag

<select id="eForm_form_details_insurancePolicyToTransfer_noClaimBonusInBPS" name="form.details.insurancePolicyToTransfer.noClaimBonusInBPS" 
               class="bb-search-action-dropdown selectpicker "> 
    <option value="">--Select--</option> 
    <option value="0" <@s.property value="%{form.details.insurancePolicyToTransfer.noClaimBonusInBPS == 0 ? 'selected':''}"/>>1 year(0%)</option> 
    <option value="20" <@s.property value="%{form.details.insurancePolicyToTransfer.noClaimBonusInBPS == 20 ? 'selected':''}"/>>2 years(20%)</option> 

</select> 
<input type="hidden" id="ncb" name="ncb" value="<@s.property value='%{form.details.insurancePolicyToTransfer.noClaimBonusInBPS}'/>" /> 

Всякий раз, когда я нажимаю на эту опцию выбора, она должна сохранять значение. Но, это не спасение. Что-то не так в коде?

+1

Из любопытства, какой смысл делать это? Вы уже отправляете форму, поэтому вы будете иметь значение как на стороне клиента, так и на стороне сервера. Почему есть скрытое поле с дублирующейся информацией? –

ответ

0

Добавить change обработчик события select бирка.

При нажатии на опцию значение автоматически сохраняется в элементе select.

Возьмите значение этого элемента и скопируйте его в скрытое поле.

Грубо говоря, если вы будете загрузки JS правильно:

$(function() { 
    $("#eForm_form_details_insurancePolicyToTransfer_noClaimBonusInBPS") 
    .change(function() { 
     $("#ncb").val($(this).val()); 
    }); 
}); 
+0

Это делается через JS, которого я не хочу. Я хочу это с помощью тегов пользовательского интерфейса struts. В любом случае, спасибо. –

Смежные вопросы