Атрибут изменения JQuery Mobile для каждой опции при множественном выборе с использованием JavaScript - PullRequest
0 голосов
/ 16 декабря 2011

Я новичок в этой JQuery Mobile.И первая проблема, с которой я столкнулся, это то, что я не могу установить «выбранный» атрибут для опции множественного выбора на «ложь» / не выбран в мобильном телефоне JQuery с использованием Javascript.

Документация, которую я нашел, подсказала мне обновить выбортак что я могу манипулировать им с помощью javascript здесь внизу страницы: http://jquerymobile.com/demos/1.0a4.1/docs/forms/forms-selects.html

Я сделал это.Но я не знаю, сделал ли я это неправильно или что.Вот мой код:

<script type="text/javascript">
function SelectAll(){
    var select=document.getElementById('sfruit');
    if (select.options[1].selected == true){
        alert('All Selected');

        for (x in select.options){
            if(x > 1){
                if (select.options[x].selected == true){
                    alert(select.options[x].value+' selected');

                    RefreshSelect();
                    select.options[x].selected == false;
                }else{
                    alert(select.options[x].value+' unselected');
                }
            }
        }
    }
}

function RefreshSelect(){   
    var myselect = $("select#sfruit");
    myselect[0].selectedIndex = 5;
    myselect.selectmenu("refresh");
}
</script>

<select onChange="SelectAll()" data-native-menu="false" id="sfruit" name="sfruit" multiple>
    <option>Select Fruit</option>
    <option value="all" selected>All</option>
    <option value="apple">Apple</option>
    <option value="orange">Orange</option>
    <option value="grape">Grape</option>
    <option value="melon">Melon</option>
</select>

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

Спасибо, ребята.И, пожалуйста, помогите мне...:)

1 Ответ

0 голосов
/ 17 декабря 2011

Я думаю, это то, что вы хотите

$(window).load(function(){
    $("select#sfruit").change(function () {
        $("select#sfruit option:selected").each(function (obj) {  
            if($(this).index()==1){
               alert('All Selected');
               $("select#sfruit option:selected").removeAttr("selected");
               $("select#sfruit option:eq(1)").attr("selected","");
            }
        });
    });
});

<select data-native-menu="false"  id="sfruit" name="sfruit" multiple>
    <option>Select Fruit</option>
    <option value="all" selected>All</option>
    <option value="apple">Apple</option>
    <option value="orange">Orange</option>
    <option value="grape">Grape</option>
    <option value="melon">Melon</option>
</select>
...