Jquery中预装的单选按钮

时间:2016-11-17 15:01:28

标签: javascript java jquery html

我正在尝试检查三个单选按钮中的一个,当页面加载时如果发生这种情况,我想做一些动作 有java代码

if (variable.equals("D"))
{
top.setVariable("{varA}", "checked='checked'");
}else if (variable.equals("R"))
{
top.setVariable("{varB}", "checked='checked'");
}else if (variable.equals("A"))
{
top.setVariable("{varC}", "checked='checked'");
}

然后,这是html代码

<input name="radio" type="radio" value="D"" {varA}/>
<input name="radio" type="radio" value="R"" {varB}/>
<input name="radio" type="radio" value="A"" {varC}/>

我希望在选中任何单选按钮时,在页面加载时隐藏或显示页面的某些部分;与此类似的东西

    if($j("input[name='radio'][value='D']").attr('checked','checked'))
    {
    $j("#div1").show();
    $j("#div").hide();
    }
    else if($j("input[@name='radio'][value='A']").attr('checked','checked'))
        {
            $j("#div1").hide();
            $j("#div").show();
        }

但是,我有一些不一致的地方,有时会选中正确的单选按钮,有时是错误的单选按钮,显然错误的div显示了

对此有任何想法或解决方案吗?

由于

2 个答案:

答案 0 :(得分:0)

您的代码中存在错误。

改变这个:

$j("input[@name='radio'][value='A']"

$j("input[name='radio'][value='A']"

答案 1 :(得分:0)

您的代码存在一些问题,主要是拼写错误。我将Java变量直接插入JS var,然后使用它来初始化HTML。

&#13;
&#13;
/*
JAVA code:
top.setVariable("{varDRA}", variable);
*/

// actual line you're going to use:
// var DRA = "{varDRA}";
// for demo purposes:
var DRA = "R";


$(document).ready(function() {
  // set event handler
  $("input[name=dra]").change(function() {
    $(".panel").hide();
    $("#" + $(this).val() + "div").show();
  });

  // set active radio button
  $("input[name=dra]").each(function() {
    if ($(this).val() == DRA) {
      this.checked = true; // check radio button
      $(this).change();  // call handler to show div
    }
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="dra" type="radio" value="D">
<input name="dra" type="radio" value="R">
<input name="dra" type="radio" value="A">

<div id="Ddiv" class="panel">D div</div>
<div id="Rdiv" class="panel">R div</div>
<div id="Adiv" class="panel">A div</div>
&#13;
&#13;
&#13;