2012-04-02 12 views
0

イメージをクリックしてオプションを選択しようとしましたが、何か変なことが起こりました。明らかにオプションが選択されていますが、一致しない値を検索すると、私がページに戻り、再度検索すると値が一致します。jQueryでオプションを選択しようとしています

<script type="text/javascript"> 
$(document).ready(function(){ 
    $(".selectAuto").click(function(){ 
    $('#prodSel option:selected').removeAttr('selected'); 
    $('#selectAuto').attr('selected', 'selected'); 
    }); 
    $(".selectVan").click(function(){ 
    $('#prodSel option:selected').removeAttr('selected'); 
    $('#selectVan').attr('selected', 'selected'); 
    }); 
    $(".selectCaminhonete").click(function(){ 
    $('#prodSel option:selected').removeAttr('selected'); 
    $('#selectCaminhonete').attr('selected', 'selected'); 
    }); 
}); 
</script> 

<select class="select" id="prodSel"> 
        <option value="auto=_C20_C43" id="selectAuto">Automóvel</option> 
        <option value="van=_C20_C44" id="selectVan">Vans</option> 
        <option value="caminhonete=_C20_C45" id="selectCaminhonete">Caminhonetes</option> 
</select> 

+0

、オプションタグのIDとして各画像の「相対」を設定し、これを試してみてください、あなたはあなたに間違った値を与えているコードを投稿することができますか?これは私のために働く:http://jsfiddle.net/GRQTh/1/ – JeffB

答えて

0

$(".selectAuto").click(のようにクリックハンドラをバインドするときにクラスによって選択しますが、selectのオプションにはクラスがなく、idのみです。

$('#selectAuto').attr('selected', 'selected');行では、クリックハンドラのバインドから2行下に、は、オプションのIDを使用してになります。

クリックハンドラ内の関数が呼び出されないと思われます。

+1

オプションを変更するために何かをクリックしているクラスセレクタを想定していました。おそらくHTMLスニペットには含まれていないイメージがあります。 – Orbling

0

<span class='a' rel='#selectAuto'>a</span> 
    <span class='a' rel='#selectVan'>b</span> 
    <span class='a' rel='#selectCaminhonete'>c</span> 


$(document).ready(function(){ 
$('.a').click(function() 
      { 
      rel = $(this).attr('rel'); 
      value = $(rel).attr('value'); 

      $('.select').val(value); 
       alert($('.select').val()); 
}); 
}); 
関連する問題