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');
3 réponses
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
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.
Essaye ça-
$('#select-choice-day option[value=' + day + ']').attr('selected',true);
$('#select-choice-month option[value=' + (month+1) + ']').attr('selected',true);
Questions connexes
De nouvelles questions
javascript
Pour des questions concernant la programmation dans ECMAScript (JavaScript / JS) et ses divers dialectes / implémentations (hors ActionScript). Veuillez inclure toutes les balises pertinentes dans votre question; par exemple, [node.js], [jquery], [json], etc.