установить список выбора на текущую дату, используя Jquery - PullRequest
2 голосов
/ 17 ноября 2011

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

edit Я использую JqueryMobile

код для 2 списков:

            <fieldset data-role="controlgroup">
            <legend>تاريخ اخر دورة شهرية : </legend>
            <label for="select-choice-day">أختر الشهر</label>
            <select name="select-choice-day" id="select-choice-day">
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
                <option value="4">4</option>
                <option value="5">5</option>
                <option value="6">6</option>
                <option value="7">7</option>
                <option value="8">8</option>
                <option value="9">9</option>
                <option value="10">10</option>
                <option value="11">11</option>
                <option value="12">12</option>
                <option value="13">13</option>
                <option value="14">14</option>
                <option value="15">15</option>
                <option value="16">16</option>
                <option value="17">17</option>
                <option value="18">18</option>
                <option value="19">19</option>
                <option value="20">20</option>
                <option value="21">21</option>
                <option value="22">22</option>
                <option value="23">23</option>
                <option value="24">24</option>
                <option value="25">25</option>
                <option value="26">26</option>
                <option value="27">27</option>
                <option value="28">28</option>
                <option value="29">29</option>
                <option value="30">30</option>
                <option value="31">31</option>
                <!-- etc. -->
            </select>


            <label for="select-choice-month">اختر الشهر</label>
            <select name="select-choice-month" id="select-choice-month">
                <option value="1">يناير</option>
                <option value="2">فبراير</option>
                <option value="3">مارس</option>
                <option value="4">إبريل</option>
                <option value="5">مايو</option>
                <option value="6">يونيو</option>
                <option value="7">يوليو</option>
                <option value="8">أغسطس</option>
                <option value="9">سبتمبر</option>
                <option value="10">أكتوبر</option>
                <option value="11">نوفمبر</option>
                <option value="12">ديسمبر</option>
                <!-- etc. -->
            </select>
            </fieldset>

Код для выбора текущего дня и месяца ... но он не работает!

var today = new Date();
        var day = today.getDate();
        var month = today.getMonth();
        alert(month);
        $('#select-choice-day option').get(day).attr('selected','selected');
        $('#select-choice-month option').get(month).attr('selected','selected');

Ответы [ 3 ]

2 голосов
/ 17 ноября 2011

Попробуйте

var today = new Date();
$('#select-choice-day').val( today.getDate() );
$('#select-choice-month').val( today.getMonth() + 1 );

Не забудьте добавить 1 к .getMonth(), так как он имеет нулевую индексацию.

Вот пример.

2 голосов
/ 17 ноября 2011

Проблема с вашим кодом в том, что .get() для объекта jquery возвращает DOMElement с указанным индексом, а не объект jquery, поэтому вы не можете использовать .attr () для него ( source ) .

Вот рабочий фрагмент кода:

$('#select-choice-day option[value=' + day + ']').prop('selected',true);
$('#select-choice-month option[value=' + (month+1)  + ']').prop('selected',true);

Обратите внимание, что .prop() доступно только для jquery 1.6 и выше. Если вы используете более старую версию библиотеки, используйте attr() как и вы.

Вот это jsfiddle

1 голос
/ 17 ноября 2011

попробуйте это-

$('#select-choice-day option[value=' + day + ']').attr('selected',true);
$('#select-choice-month option[value=' + (month+1)  + ']').attr('selected',true);

Рабочий пример

...