当jsFiddle说var已经定义时如何修复var

时间:2018-06-30 19:56:49

标签: javascript jquery html

这是我的小提琴https://jsfiddle.net/juggernautsei/w8yn2ehk/ 我的jQuery变得非常生锈。系统说我必须将代码放在这里,所以这是下面的代码片段。

$(function() {

    $("input[name$='notify_type']").click(function() {
        var test = $(this).val();
        var selected = $("input[type='radio'][id='notify_type3']:checked").val();

        $("div.referral").hide();
        $("#ref" + test).show();

          if(selected == "4") var opts = [
        {name: "Please Select", val:""},
        {name:"WMOX", val:"WMOX"},
        {name:"WVKL", val:"WVKL"},
        {name:"WJDQ", val:"WJDQ"},
        {name:"WOWI", val:"WOWI"},
        {name:"WTOK", val:"WTOK"}
    ];

左侧是引荐类型的列表。我希望左侧的块根据所选择的引用类型而改变。大多数都已完成。 我想发生的是notify_type3应该根据左侧选择的列表类型填充右侧的下拉列表。第一个正常工作。其余的不。我认为我需要进行更改,但不确定将其放置在何处。建议

1 个答案:

答案 0 :(得分:1)

我发现了一些问题。主要两个:

1)您获得selected的方式仅适用于第一个。对于其他selected,则得到了值undefined

2)由于测试的值可能在1到10之间,并且您只有1-4的ref元素,因此您无法确定显示右侧哪个块($("#ref" + test).show();)的方式。

这是我所做的更改:https://jsfiddle.net/w8yn2ehk/41/

请注意,它对于7-10仍然不起作用,因为我仅使用选择块(ref3)修复了这些问题,但是有了此信息,修复其余部分应该不是问题。