Сложность переключения jQuery для мобильных устройств

#jquery #asp.net #jquery-mobile

#jquery #asp.net #jquery-mobile

Вопрос:

Спасибо, что нашли время ответить на мой вопрос.

У меня есть следующая кодовая метка код jquery:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0rc2/jquery.mobile-1.0rc2.min.css" />
        <script src="http://code.jquery.com/jquery-1.7.js" type="text/javascript"></script>
        <script src="http://code.jquery.com/mobile/1.0rc2/jquery.mobile-1.0rc2.js" type="text/javascript"></script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div data-role="page" id="home" class="type-home">
            <div data-role="content">
                <div class="content-primary">
                    <p>
                        The flip toggle switch is displayed like this:</p>
                    <div data-role="fieldcontain">
                        <label for="slider">
                            Flip switch:</label>
                        <select name="slider" id="my-slider" data-role="slider">
                            <option id="firstOption" data-test="" data-status="deactivated" value="off">Activated</option>
                            <option id="secondOption" data-test="" data-status="activated" value="on">Deactivated</option>
                        </select>
                    </div>                
                </div>
            </div>
        </div>
        </form>
    </body>
    </html>
    <script type="text/javascript">
        $(document).ready(function () {

            changeOption();

            $('#my-slider').bind('change', function () {

                var myswitch = $(this);

                if (myswitch.val() == 'on') {
                    alert('on');

                }
                else {
                    alert('off');
                }
            });
        });

        function changeOption() {
            var x = 1;

            if (x == 1) {
                $('#firstOption').attr('selected', 'selected').slider('refresh');
            }
            else {
                $('#secondOption').attr('selected', 'selected').slider('refresh');
            }
        }

    </script>
  

Когда я нажимаю на переключатель, он выполняет код jquery (два предупреждения). Тем не менее, я хочу иметь возможность устанавливать значение по умолчанию для переключателя переключения на основе значения, предоставленного веб-службой (я использую фиктивное значение для этого примера => x). Однако я не могу выбрать второй элемент… По умолчанию всегда «Активировано». Есть предложения? Большое вам спасибо!

Комментарии:

1. насколько я могу прочитать, в вашем коде говорится, что выберите первый (x всегда равен 1), и текст для первого из них «активирован».

2. Похоже, для меня это работает. Я создал для вас jsfiddle, в котором X рандомизирован, и, на мой взгляд, он выглядит нормально. jsfiddle.net/sgliser/wdcrV/2