IE 7 Выберите Dropdown отключен вопрос атрибута в Jquery? - PullRequest
1 голос
/ 22 августа 2011

За последние три дня я пытаюсь исправить это, но не могу решить .. Вот мой запрос, если кто-то может мне помочь ..

У меня на странице есть некоторые раскрывающиеся страницы, которые содержат некоторые вопросы, связанные с безопасностью. Если пользователь уже выбрал вопрос № 1 из первого списка вниз, то во всех оставшихся раскрывающихся списках первый вопрос должен быть отключен ... затем тот же сценарий должен применяться для оставшегося раскрывающегося списка.

Я создал свой сценарий, но так как все атрибуты IE7 отключены, поэтому я создал собственный сценарий, чтобы отключить выбор значений из списка, но он не работает при первом нажатии ..

HTML

<select name="select1" class="securityQuestions">
    <option value="0">Please select an option...</option>

    <option value="1">What is your favorite color?</option>
    <option value="2">What is your pet's name?</option>
    <option value="3">How old are you?</option>
</select>
<select name="select2" class="securityQuestions">
    <option value="0">Please select an option...</option>
    <option value="1">What is your favorite color?</option>

    <option value="2">What is your pet's name?</option>
    <option value="3">How old are you?</option>
</select>
<select name="select3" class="securityQuestions">
    <option value="0">Please select an option...</option>
    <option value="1">What is your favorite color?</option>
    <option value="2">What is your pet's name?</option>

    <option value="3">How old are you?</option>
</select>

Вот мой скрипт для создания

универсальный скрипт

(function($){
    $.fn.removeQuestions = function() {

        var wholeList = $(this);

        wholeList.focus(function() {
            // no of question lists on the page
              var listLength = wholeList.length;

            // array to hold which questions have been selected
            var questionArray = new Array(listLength);

            // loop to find index of questions selected, store in array
            $('option:selected').each(function(index, value) {
                questionArray[index] = $(this).index();
            });

            // loop over all question lists
            wholeList.each(function(index, value) {
                // remove any existing attr from previous selection
                $('option', this).removeAttr('disabled');

                // for each list hide each question in array
                for(j = 0; j <= questionArray.length; j++) {
                    // don't hide if it's  default 'choose your question'
                    if(!questionArray[j] == 0) {
                        $('option', this).eq(questionArray[j]).attr('disabled','disabled');
                    }
                }

                // now re-show the question selected in this list item.
                $('option', this).eq(questionArray[index]).removeAttr('disabled');

            });
        });
        return wholeList;
    }; // end of plugin
})(jQuery);



(function($) {

    $('select').change(function() {
        if(this.options[this.selectedIndex].disabled) {
            // Needs revision!
            if (this.options.length == 0) {
                this.selectedIndex = -1;
            } else {
                this.selectedIndex--;
            }
            $(this).trigger("change");
        }
    });
    $('select').mousedown(function(){       
        $(this).children('option[disabled]').each(function() {
            $(this).css({'color': '#cccccc'});
        });   
    });

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