Как включить отключенную кнопку-переключатель с помощью jquery в ie7 - PullRequest
3 голосов
/ 13 апреля 2011

Это работает в Firefox. Как я могу заставить его работать в IE7?

$( '#addressSection input:radio' ).attr( 'disabled', false );

Я тоже пробовал это безрезультатно:

$( '#addressSection input:radio' ).removeAttr( "disabled" );

$( '#addressSection input:radio' ).attr( 'disabled', 'false' );

$( '#addressSection input:radio' ).attr( {disabled: false} );

$( '#addressSection input:radio' ).attr( {disabled: 'false'} );

Вот радио-кнопка html, как она отображается в IE7. Оригинал написан на весну и пользовательские теги.

<div id="addressSection">
  <div class="column">
    <ul class="simpleForm">
      <li>
        <input id="addressUseUorA" name="addressUseUorA" value="U" type="radio" type="text" value=""/>
        <label for="addressUseUorA">Use User Address</label>
        <input id="addressUseUorA" name="addressUseUorA" value="A" type="radio" type="text" value=""/>
        <label for="addressUseUorA">Use Account Address</label>
     </li>
   </ul>
 </div>
</div>

UPDATE:

Вот что стало причиной проблемы.

Я отключил это поле, пытаясь отключить все поля в DIV:

$( '#addressSection' ).attr( 'disabled', true);

Это вызывает проблему в ie7, но не в firefox.

Проблема была решена, когда я изменил код отключения на:

$( '#addressSection input' ).attr( 'disabled', true);

я предполагаю, что атрибут disable был применен к div, а не к полю, и поэтому не мог быть удален с помощью переключателя.

Спасибо за помощь.

Ответы [ 4 ]

13 голосов
/ 13 апреля 2011

вы пробовали:

$( '#addressSection input[type="radio"]' ).removeAttr( "disabled" );
2 голосов
/ 13 апреля 2011

Попробуйте:

$('#addressSection input[type=radio]').attr('disabled', false);
0 голосов
/ 13 апреля 2011

Вам необходимо использовать другой идентификатор для элементов ввода.Этот код работает:

<div id="addressSection"> <div class="column"> 
    <ul class="simpleForm"> 
        <li> 
            <form>
            <input id="addressUseUorA1" name="addressUseUorA" value="U" type="radio" type="text" disabled="disabled" value=""/> 
            <label for="addressUseUorA1">Use User Address</label> 
            <input id="addressUseUorA2" name="addressUseUorA" value="A" type="radio" type="text" value=""/> 
            <label for="addressUseUorA2">Use Account Address</label> 
            </form>
            <a href="#">click</a>
        </li> 
    </ul> 
</div> </div>
<script>
$('#addressSection a').click(function(e) {
    e.preventDefault()
    $( '#addressSection input[type="radio"]' ).removeAttr( "disabled" );
});
</script>
0 голосов
/ 13 апреля 2011

Я только что проверил его на JsFiddle и похоже, что removeAttr прекрасно работает на chrome / FF / IE7.

вот ссылка на пример в реальном времени: http://jsfiddle.net/2GpyQ/1/

дайте мне знать, если это сработало для вас, спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...