У меня есть 3 переключателя и одно текстовое поле на моей странице. Эти 3 радиоуправления представляют соответствующие варианты, и среди них третий включает текстовое поле, которое по умолчанию отключено. Если пользователь щелкает по любому из первых двух элементов после нажатия третьего, текстовое поле будет очищено (если оно введено пользователем) и снова отключено. Проблема в том, что в IE текстовое поле не очищается, пока я не нажму еще раз на указанное текстовое поле. Я использовал методы jquery val и attr, но, похоже, ничего не работает. Вы можете увидеть мой код следующим образом. Тот же самый код прекрасно работает в Mozilla. Я не уверен, почему в IE возникают проблемы.
m.bind_eventform = function(){
$('input[name=poster]').change(function(){
if($('input[name=poster]:checked').val()==2) $('#poster_other').removeAttr('disabled');
else if(!($('#poster_other').is(':disabled')))
{
$('#poster_other').attr('disabled','disabled');
$('#poster_other').attr('value',''); //this one doesn't work
$('#poster_other').val(''); //as well as this one
}
});
};
$(document).ready(m.bind_eventform);
РЕДАКТИРОВАТЬ - Наценка добавляется за запрос
<div class="formwrapper">
<div style="float:left"><input type="radio" name="poster" value="0" checked="checked" style="float:left;">
<span style="float:left;margin:0 0 0 5px">owner</span></div>
<div style="float:left;margin-left: 80px"><input type="radio" name="poster" value="1" style="float:left;">
<span style="float:left;margin:0 0 0 5px">agent</span></div>
<div style="float:right;margin-left:40px"><input type="radio" name="poster" value="2" style="float:left;">
<span style="float:left;margin:0 0 0 5px">others</span>
<input type="text" id="poster_other" size="40" style="float:left;margin:0 0 0 5px" disabled="disabled"></div>
<div style="clear:both"></div>
</div>