2011-01-15 13 views
2

いくつかの画像(おそらく最大5個)を表示し、ユーザーがクリックして選択してもらいたい。私が試した最初のことは、ラジオボタンとラベル内に画像を置くことでした。jquery/javascriptを使用してn個の画像のうちの1つを選択する

<input type="radio" name="BackgroundId" id="BackgroundId" value="1" /> 
<label for="BackgroundId"><img src="../../Content/images/thumb_1.jpg" /></label> 

Firefoxは、ユーザーが画像をクリックしたときにラジオボタンを選択しますが、IEではラジオボタンを選択しません。

イメージをクリック可能にするjqueryプラグインはありますか? Fancy-formは私が使用できるもののように見えますが、jqueryではなく、私のプロジェクトではすでにjqueryを持っています。

また、画像を1つ選択するより良い方法を教えてもらえますか?

$(function(){ 
    $("label img").click(function(){ 
     var parent = $(this).parent(); 
     $("#" + parent.attr("for")).attr("checked", "checked"); 
    }); 
}); 

答えて

2

何かがちょうどあなたのページにこのJavaScriptをドロップします。私はそれをテストしました。

<script language="javascript" type="text/javascript"> 
    $(document).ready(
    function() 
    { 
     var selImg = $("#BackgroundId").next("label").find("img"); 
     selImg.click(
      function() 
      { 
       $("#BackgroundId")[0].click(); 
      }); 

    }); 
</script> 

コードを読み取ります ID =「BackgroundId」 今すぐ各1内部にimg要素を見つける必要があり、これらの要素の後に、すべての次の要素を取得します。 idが 'BackgroundId'のすべての要素のクリックをシミュレートする関数を呼び出すimgが見つかった場合、clickイベントを設定します。

「すべて」と「各タグ」と書いていますが、IDが「BackgroundId」のタグが1つしかないので、これらすべてが単独で起こっています。

+0

これは私よりも優れた、より一般的な答えです。 – bnieland

関連する問題