0
これは予想以上に難しくなっています。私はjqueryセレクタを使用してif/else文を書こうとしています。どのラジオがクリックされたかに応じてメッセージを追加したいと思います。私のロジックは動作しますが、特定のラジオボタンがクリックされたときに出力するメッセージを取得できません。両方の結果を同時に簡単に印刷することはできますが、選択したラジオに応じて別の応答を印刷する方法を理解することはできません。ここでその他のラジオオプションを選択した場合
は私の機能である:
function imageCounter() {
var ballCount = 0;
var truckCount = 0;
// find images with ball in image src
$('img[src*=ball]').each(function() {
if($(this).attr('src')) {
ballCount+=1;
}
});
// find images with truck in image src
$('img[src*=truck]').each(function() {
if($(this).attr('src')) {
truckCount+=1;
}
});
if($(':radio[name="truckImages"]:checked')) {
$('#radioButtons').append("There are " + truckCount + " truck images.");
} else {
$('#radioButtons').append("There are " + ballCount + " ball images.");
}
}
HTML:
<div id="radioButtons">
<input type="radio" value="truckImages" name="truckImages" id="truckImages">Fire Trucks
<input type="radio" value="ballImages" name="ballImages" id="ballImages">
<input type="button" value="Count the Images" onclick="imageCounter()">
</div>
'要素が一致*。また、あなたが 'if($(this).attr( 'src'))'とは何を考えていますか? (ヒント: 'src'が空ではない文字列であることを知っているので、常に真実になります) – nnnnnn
ラジオボタンの名前を最初に入れて、選択された一意のラジオにする必要があります –
if($これは).attr( 'src'))は私のカウンタが特定のイメージのために働くことを可能にする唯一の方法です:/ srcを持つ属性を検証するために基本的にそれを使用しています。 – MrJesus