J'utilise Jquery mobile, et j'ai ces deux listes de sélection, je veux définir les options sélectionnées pour les listes de sur le jour et le mois actuels.

Modifier J'utilise JqueryMobile

Le code pour 2 listes:

            <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>

Le code pour sélectionner le jour et le mois en cours .. mais ça ne marche pas!

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');
2
Bader 17 nov. 2011 à 13:03

3 réponses

Meilleure réponse

Le problème avec votre code est que .get() sur un objet jquery renvoie le DOMElement à l'index spécifié et non plus un objet jquery, donc vous ne pouvez plus utiliser .attr () dessus (source).

Voici un morceau de code de travail:

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

Veuillez noter que .prop() n'est disponible que pour jquery 1.6 et supérieur. Si vous utilisez une ancienne version de la bibliothèque, utilisez attr() comme vous le faites.

Voici un jsfiddle

2
Didier Ghys 17 nov. 2011 à 09:14

Essayer

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

N'oubliez pas d'ajouter 1 à .getMonth() car il est indexé à zéro.

Voici un exemple.

2
Doug Owings 17 nov. 2011 à 09:18

Essaye ça-

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

Exemple de travail

1
Vivek 17 nov. 2011 à 09:13
8164508