0

我做了这个jsfiddle:http: //jsfiddle.net/6tZmc/1/

基本上,我想根据单选按钮选择更新一个空跨度。这是代码:

html

<div>
<p>Your chose: <span id="animal"></span></p>
</div>
<div>
<h2>Pick an Animal:</h2>
<input type="radio" name="pets" value="cat" />Cats<br />
<input type="radio" name="pets" value="dog" />Dogs
</div>

jQuery :

function petChoice(){
    var chosenPet = $('input[name="pets"]:checked').val();
    if(chosenPet = 'cat'){
        $("span#animal").text();
        $("span#animal").text("Cats");
    }else if (chosenPet = 'dog'){
        $("span#animal").text();
        $("span#animal").text("Dogs");
    }else{
        $("span#animal").text();
    }
}
$("input[name='pets']").click(function(){
    petChoice();
});

提前致谢

4

3 回答 3

4

在您尝试分配的 if 语句中catsdogs实际上chosenPet您想测试相等性。更改===

于 2013-05-28T16:31:31.587 回答
1

不要忘记包装你的函数,以便它在document准备好后执行。

您还可以通过将文本设置为单击的单选按钮的值来缩短功能。在 jQuery 事件中,this指的是触发事件的元素。

$(function () {
    $("input[name='pets']").click(function () {
        $("#animal").text($(this).val());
    });
});

工作小提琴

于 2013-05-28T16:31:00.920 回答
0
function petChoice(){
    var chosenPet = $('input[name="pets"]:checked').val();
    if(chosenPet == 'cat'){
        $("span#animal").html("Cats");
    }else if (chosenPet == 'dog'){
        $("span#animal").html("Dogs");
    }else{
        $("span#animal").empty();
    }
}
$("input[name='pets']").click(function(){
    petChoice();
});

jsfiddle:http: //jsfiddle.net/6tZmc/4/

于 2013-05-28T16:34:42.403 回答