我有一个由php生成的选择。
<div id="panneauModifAnnonce" class="divAdmin">
<form id="modifierAnnonceForm">
<label class ="labelEmail">ID</label>
<input id="inp_idAnnonce" class ="inputEmail" />
<label class ="labelEmail">Titre</label>
<input id ="inp_titreAnnonce" class ="inputEmail" />
<label class ="labelEmail">Description</label>
<textarea id ="inp_txtDescription" class ="inputEmail" maxlength="500" ></textarea>
<label class ="labelEmail">Taille</label>
<select id ="inp_selectTaille" class ="inputEmail">
<option value="" selected="selected"> </option>
<optgroup label="Taille">
<option value="XS-36">XS-36 </option>
<option value="S-38">S-38 </option>
<option value="M-40">M-40 </option>
</optgroup>
<optgroup label="Pointure">
<option value="36">36 </option>
<option value="37">37 </option>
<option value="38">38 </option>
</optgroup>
</select>
<label class ="labelEmail">Couleur</label>
<input id="inp_couleurAnnonce" class ="inputEmail" />
<label class ="labelEmail">Marque</label>
<input id ="inp_marqueAnnonce" class ="inputEmail" />
<label class ="labelEmail">Prix</label>
<input id ="inp_prixAnnonce" class ="inputEmail" />
<label class ="labelEmail">Annonceur</label>
<input id ="inp_annonceur" class ="inputEmail" />
<label class ="labelEmail">Catégories</label>
<select id ="inp_selectCatAnnonces" class ="inputEmail">
<option value="" selected="selected"> </option>
<?php include_once 'includes/inc_selectCategories.php'; ?>
</select>
<label class ="labelEmail">Validité</label>
<div>
<input type="radio" name="rad_valid" id ="inp_radValide" value ="1" /><span>Oui</span>
<input type="radio" name="rad_valid" id ="inp_radinvalide" value ="0" /><span>Non</span>
</div>
<input type="submit" name="submit_modifier" value="Enregistrer les modifications" />
<input type="button" name ="btn_annulerModif" value ="Annuler" />
</form>
</div><!-- panneauModifAnnonce-->
我正在尝试使用jquery来获取和选择值,但似乎jquery不喜欢include函数。我读过其他一些帖子,但我认为他们不会谈论同样的问题。任何帮助都会很棒!谢谢!
Jquery代码:
$(document).ready(function(){
$("#btn_modifierAnnonce").click(function(){
$.each($("input[type='checkbox']:checked"), function(){
//attribution des données au champs correspondant et sauvegarde de la valeur du champs
var id = $(this).parent().parent().find("td:eq(0)");
$("#inp_idAnnonce").val(id.text());
var titre = $(this).parent().parent().find("td:eq(1)"); // eq(2) = cherche le 2è element qui correspond au sélécteur
$("#inp_titreAnnonce").val(titre.text());
var description = $(this).parent().parent().find("td:eq(2)");
$("#inp_txtDescription").val(description.text());
var taille = $(this).parent().parent().find("td:eq(4)");
$("#inp_selectTaille option[value="+taille.text()+"]").attr('selected','selected');
var couleur = $(this).parent().parent().find("td:eq(5)");
$("#inp_couleurAnnonce").val(couleur.text());
var marque = $(this).parent().parent().find("td:eq(6)");
$("#inp_marqueAnnonce").val(marque.text());
var prix = $(this).parent().parent().find("td:eq(8)");
$("#inp_prixAnnonce").val(prix.text());
//it doesnt work only for this case..
var categorie = $(this).parent().parent().find("td:eq(7)");
$('#inp_selectCatAnnonces option[value="'+categorie.text()+'"]').attr('selected','selected');
var annonceur = $(this).parent().parent().find("td:eq(9)");
$("#inp_annonceur").val(prix.text());
var validite = $(this).parent().parent().find("td:eq(10)");
if(validite.text()=="1"){
$('#inp_radValide').attr('checked','checked');
}
else{
$('#inp_radinvalide').attr('checked','checked');
}
})//fin $.each(input select)
})//fin $(#btn_modifierAnnonce).click
})//fin document.ready
我使用var categories获得正确的值,但我无法自动选择select
中的值答案 0 :(得分:0)
这就是val()
函数的用途:
$("#inp_selectCatAnnonces").val('newlyselectedvalue');
并使用以下内容获取所选值:
$("#inp_selectCatAnnonces").val();
答案 1 :(得分:0)
您可能会遇到引号和值属性的问题。尝试结合简单和双引号,如下所示:
$('#inp_selectCatAnnonces option[value="'+categorie.text()+'"]').attr('selected', true);
答案 2 :(得分:0)
首先,只需删除selected="selected"
即可。因为默认情况下,第一个元素是选择。
然后像你一样包括你的includes/inc_selectCategories.php
。确保填充的数据是有效的HTML!使用FireBug或类似工具执行此操作。 (在大多数浏览器中为F12。)
然后将您的Javascript代码更改为:
// On DOM ready. This is very important!
$(function() {
var categorie = $(this).parent().parent().find("td:eq(7)");
// console.log ( categorie.text() ); // Make sure it returns a valid value!!
// Select the right value from the dropdown
$('#inp_selectCatAnnonces').val(categorie.text());
});
只需确保至少alert
您尝试从categorie.text()
获得的价值。我怀疑该值与<select>
列表中的值不完全匹配。另外,请确保其中的values
正确无误。
这是一个说明此行为的示例:
答案 3 :(得分:0)
对不起那些我困扰你的人:我自己找到了。
我检查PHP脚本,选项的值是id不正确的值!
感谢大家!