1

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はインクルード機能が好きではないようです。他の投稿を読んだことがありますが、同じ問題について話していないと思います。どんな助けでも素晴らしいでしょう!ありがとう!

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 カテゴリで正しい値を取得しますが、選択で値を自動選択できません

4

4 に答える 4

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、そこにあるが正しいことを確認してください。

この動作を示す例を次に示します。

http://jsfiddle.net/3g4PU/

于 2013-02-18T15:05:02.577 に答える
0

お騒がせして申し訳ありません:私は自分で見つけました。

PHP スクリプトを確認すると、オプションの値が id の正しい値ではありませんでした!

みんなありがとう!

于 2013-02-18T15:13:50.150 に答える
0

それがこのval()関数の目的です:

$("#inp_selectCatAnnonces").val('newlyselectedvalue');

選択した値を次のように取得します。

$("#inp_selectCatAnnonces").val();
于 2013-02-18T14:31:28.593 に答える
0

引用符と value 属性に問題がある可能性があります。次のように単純引用符と二重引用符を組み合わせてみてください。

$('#inp_selectCatAnnonces option[value="'+categorie.text()+'"]').attr('selected', true);
于 2013-02-18T14:40:46.893 に答える