当前位置: 首页 > 知识库问答 >
问题:

为什么我不能在jquery中获取这个单选按钮的状态?

商夜洛
2023-03-14

这段代码来自salesforce visualforce页面。

<div id="testId" class="row mb25 mt15">
    <div class="col-md-6 plr0">
        <p class="en">Would you like to add a co-applicant?<span class="asteriskField">*</span> </p>
        <p class="fr">Would you like to add a co-applicant?<span class="asteriskField">*</span> </p>
    </div>
    <div class="col-md-4 mt-5r">
        <apex:selectRadio id="innerTestId" value="{!client.Would_you_like_to_recieve_future_promo__c}" styleClass="radio">
            <div class="row">
                <div class="col-sm-6">
                    <div class="radio pa-cus">
                        <apex:selectOption itemLabel="Yes" itemValue="Yes"/>
                    </div>
                </div>
                <div class="col-sm-6">
                    <div class="radio pa-cus">
                        <apex:selectOption itemLabel="No" itemValue="No"/>
                    </div>
                </div>
            </div>
        </apex:selectRadio>
    </div>
</div>

当单击Submit按钮时,我需要一个JQuery脚本来检查天气,单选按钮被选中YesNo,以便我可以执行一些自定义验证。我通过添加onhtml="validateInnerTestId();"到Submit按钮来调用这个函数。

我的问题是,我无法读取/检查单选按钮是否选择是或否或真或假。如果我能找出他们处于什么状态,那么我就可以做我的

这是我的目标

<script type="text/javascript">
<script>                                                                                 
    function validateInnerTestId()
    {
        if(innerTestId is Selected as Yes)
        {
            execute fucntionX()
        }
        else
        {
            execute functionY()
        }
    }
<script>  

以下是我如何尝试读取单选按钮值的一些示例:

警报($(“#innerTestId”).itemValue() 此行不返回任何内容

警报($(“#innerTestId”).val() 此行也不返回任何内容

而这个if-else总是返回no

if ($('innerTestId').is(':checked'))
{
    alert("yes");
}
else
{
    alert("no");
}

有人知道在这种情况下如何检查单选按钮吗?谢啦


共有2个答案

澹台正业
2023-03-14

VF标签使用动态id,您应该执行以下操作:

function validateInnerTestId(){
   if($('#{!component.innerTestId}').is(':checked')){
       execute fucntionX()
   }
   else{
       execute functionY()
   }
}
寇桐
2023-03-14

正如@Andrea在评论中提到的那样,您只是忘记了选择器中的#。下面有一个简单的示例演示了该用法。如果您的代码仍然无法工作,我们将需要更多信息。

  • 您确定正在调用ValidateInertestId()吗
$('#doit').on('click',function() {
  var str = "";
  if ($('#test').is(':checked')) {
    str += "Toggle checked? YES\n"
  } else {
    str += "Toggle checked? NO\n"
  }
  
  
  if ($('#option1').is(':checked')) {
    str += "Option checked: 1";
  } else if ($('#option2').is(':checked')) {
    str += "Option checked: 2";
  } else {
    str += "Option checked: NONE";
  }
  
  alert(str);
});
html lang-html prettyprint-override"><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <input id="test" name="toggle" type="checkbox" value="" />
  <label for="toggle">Toggle</label>
</div>
<div>
  <input type="radio" id="option1" name="options" value="1">
  <label for="option1">Option 1</label>

  <input type="radio" id="option2" name="options" value="2">
  <label for="option1">Option 2</label>
</div>
<br />

<input id="doit" type="button" name="test" value="Tell me!" />
 类似资料:
  • 本文向大家介绍jQuery获取选中单选按钮radio的值,包括了jQuery获取选中单选按钮radio的值的使用技巧和注意事项,需要的朋友参考一下   实例1:   获取一组单选按钮对象:var obj_payPlatform = $('#wrap input[name="payMethod"]');   获取被选中按钮的值 :var val_payPlatform = $('#wrap inpu

  • 问题内容: 我已经在单选组中动态创建了两个单选按钮,并选中其中一个。我需要在我按下另一个按钮时将其值保存在字符串中。但是我已经为此实现了,但是第一次没有用。这是我的代码。 问题答案: xml文件 Java代码

  • 如何获得文本而不是值,当我点击单选按钮? 下面的代码获取单选按钮的值。我想接短信(节目或电影)。提前道谢。 null null

  • 我试图将24个添加到我的的,但当我运行它时,我发现没有添加任何按钮。(至少,它们不可见!)。我试着给一个背景色,它是可见的。有人知道我做错了什么吗? 这是我的代码(还有一个类): 其他(主要)类别:

  • 问题内容: 我有两个单选按钮,想要发布所选一个的值。如何使用jQuery获得价值? 我可以像这样得到所有这些: 我怎么知道选择了哪一个? 问题答案: 要获取具有ID的表单中 所选 项目的值: 这是一个例子:

  • 问题内容: 我有两个单选按钮和。 如何获取所选单选按钮的值。 我是否需要使用ng-model或其他东西。在jquery中,我知道Angularjs中没有的东西。 问题答案: 双方应该有相同与不同 (意味着有选择使用S或按钮),使所选择的值将在修改$ scope变量,你可以抓住的形式的控制器内部的值或者提交按钮点击。 标记