gpt4 book ai didi

javascript - 检查不同 div 类中的单选按钮

转载 作者:行者123 更新时间:2023-11-28 02:15:28 25 4
gpt4 key购买 nike

我一直在尝试检查网页上的某些单选按钮,方法是遍历所有单选按钮并尝试在每个单选按钮“组”中选择第二个值,但我对它的语法很困惑。

我在网上查找文档时,在每组单选按钮上都有相同的“名称”变量,以使每个组都易于访问,但在这个网站上情况并非如此,我被困在看似简单的解决方案中。

我一直在尝试检查每个组中的“radX_ExtendedHold”单选按钮,以禁用页面底部的“按钮页脚类”,直到用户从任何单选组中选择任何不同的值纽扣。这是它的 HTML 代码(这不是我的网站,我无法编辑 HTML 来更改名称或任何内容的值):

<div class="subsRenewEntry">
<div class="seriesOptions" data-default="Renewed">
<span>
<input id="rad0_Renewed" type="radio" name="action_f5d61c45-69fc-e711-8d62-000c2979ba39" value="Renewed" />
<label for="rad0_Renewed" >Yes, I want to renew now</label>
</span>

<span>
<input id="rad0_ExtendedHold" type="radio" name="action_f5d61c45-69fc-e711-8d62-000c2979ba39" value="ExtendedHold" />
<label for="rad0_ExtendedHold" >Not sure, keep my seat for the time being</label>
</span>
</div>
</div>

<div class="subsRenewEntry">
<div class="seriesOptions" data-default="Renewed">
<span>
<input id="rad1_Renewed" type="radio" name="action_21e7930b-31fd-e711-8d62-000c2979ba39" value="Renewed" />
<label for="rad1_Renewed" >Yes, I want to renew now</label>
</span>

<span>
<input id="rad1_ExtendedHold" type="radio" name="action_21e7930b-31fd-e711-8d62-000c2979ba39" value="ExtendedHold" />
<label for="rad1_ExtendedHold" >Not sure, keep my seat for the time being</label>
</span>
</div>
</div>

<div class="subsRenewEntry">
<div class="seriesOptions" data-default="Renewed">
<span>
<input id="rad2_Renewed" type="radio" name="action_d1b6d498-99da-e711-8d62-000c2979ba39" value="Renewed" />
<label for="rad2_Renewed" >Yes, I want to renew now</label>
</span>

<span>
<input id="rad2_ExtendedHold" type="radio" name="action_d1b6d498-99da-e711-8d62-000c2979ba39" value="ExtendedHold" />
<label for="rad2_ExtendedHold" >Not sure, keep my seat for the time being</label>
</span>
</div>
</div>

<div class="subsRenewEntry">
<div class="seriesOptions" data-default="Renewed">
<span>
<input id="rad3_Renewed" type="radio" name="action_3fe94663-32fd-e711-8d62-000c2979ba39" value="Renewed" />
<label for="rad3_Renewed" >Yes, I want to renew now</label>
</span>

<span>
<input id="rad3_ExtendedHold" type="radio" name="action_3fe94663-32fd-e711-8d62-000c2979ba39" value="ExtendedHold" />
<label for="rad3_ExtendedHold" >Not sure, keep my seat for the time being</label>
</span>
</div>
</div>

<div class="subsRenewEntry">
<div class="seriesOptions" data-default="Renewed">
<span>
<input id="rad4_Renewed" type="radio" name="action_f6fe26d5-32fd-e711-8d62-000c2979ba39" value="Renewed" />
<label for="rad4_Renewed" >Yes, I want to renew now</label>
</span>

<span>
<input id="rad4_ExtendedHold" type="radio" name="action_f6fe26d5-32fd-e711-8d62-000c2979ba39" value="ExtendedHold" />
<label for="rad4_ExtendedHold" >Not sure, keep my seat for the time being</label>
</span>
</div>
</div>

<div class="buttonsFooter">
<button type="submit" class="small_button_a">
Proceed
</button>
</div>

我尝试使用以下代码获取“subsRenewEntry”类中的所有元素:

$( ".subsRenewEntry" ).each(function( index ) {
console.log( index + ": " + $( this ).text() );
});

这似乎返回了我需要的正确组。但它只是试图检查每个组中的第二个元素。

我尝试了各种方法来尝试解决问题,如下所示:

$( "rad" + index + "_ExtendedHold").filter('[value="ExtendedHold"]').prop('checked', true);

$('.screen-RenewSubscriptions_aspx').find('option[value="ExtendedHold"]').prop('checked', true);

但它们都不起作用。

我还尝试了一种适用于单个元素的不同方法,这对我来说不太有用,因为我需要动态分配按钮,以便它可以在具有任意 X 数量的单选按钮组的任何页面上运行.

无论如何,代码如下:

$('input:radio[name="action_f5d61c45-69fc-e711-8d62-000c2979ba39"]').filter('[value="ExtendedHold"]').attr('checked', true);

但这同样只适用于其中一个按钮(显然是因为该名称仅等同于单选按钮的名称之一)。

我对 javascript/jQuery 还是很陌生,访问这些变量的语法似乎让我很困惑,因为这似乎是一个总体上非常简单的解决方案。如果有人能指出我正确的方向,我将非常感激。我不期望有人为我编写代码,只是一些关于我哪里出错以及如何改变我的想法的指示。

最佳答案

如果你想检查每个复选框的值,那么请尝试下面的 jquery 代码。只有这段代码才能帮助你做事。如果您想要不同的结果,请在此处发表评论,以便我尝试解决它们。

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="subsRenewEntry">
<div class="seriesOptions" data-default="Renewed">
<span>
<input id="rad0_Renewed" type="radio" name="action_f5d61c45-69fc-e711-8d62-000c2979ba39" value="Renewed" />
<label for="rad0_Renewed" >Yes, I want to renew now</label>
</span>

<span>
<input id="rad0_ExtendedHold" type="radio" name="action_f5d61c45-69fc-e711-8d62-000c2979ba39" value="ExtendedHold" />
<label for="rad0_ExtendedHold" >Not sure, keep my seat for the time being</label>
</span>
</div>
</div>

<div class="subsRenewEntry">
<div class="seriesOptions" data-default="Renewed">
<span>
<input id="rad1_Renewed" type="radio" name="action_21e7930b-31fd-e711-8d62-000c2979ba39" value="Renewed" />
<label for="rad1_Renewed" >Yes, I want to renew now</label>
</span>

<span>
<input id="rad1_ExtendedHold" type="radio" name="action_21e7930b-31fd-e711-8d62-000c2979ba39" value="ExtendedHold" />
<label for="rad1_ExtendedHold" >Not sure, keep my seat for the time being</label>
</span>
</div>
</div>

<div class="subsRenewEntry">
<div class="seriesOptions" data-default="Renewed">
<span>
<input id="rad2_Renewed" type="radio" name="action_d1b6d498-99da-e711-8d62-000c2979ba39" value="Renewed" />
<label for="rad2_Renewed" >Yes, I want to renew now</label>
</span>

<span>
<input id="rad2_ExtendedHold" type="radio" name="action_d1b6d498-99da-e711-8d62-000c2979ba39" value="ExtendedHold" />
<label for="rad2_ExtendedHold" >Not sure, keep my seat for the time being</label>
</span>
</div>
</div>

<div class="subsRenewEntry">
<div class="seriesOptions" data-default="Renewed">
<span>
<input id="rad3_Renewed" type="radio" name="action_3fe94663-32fd-e711-8d62-000c2979ba39" value="Renewed" />
<label for="rad3_Renewed" >Yes, I want to renew now</label>
</span>

<span>
<input id="rad3_ExtendedHold" type="radio" name="action_3fe94663-32fd-e711-8d62-000c2979ba39" value="ExtendedHold" />
<label for="rad3_ExtendedHold" >Not sure, keep my seat for the time being</label>
</span>
</div>
</div>

<div class="subsRenewEntry">
<div class="seriesOptions" data-default="Renewed">
<span>
<input id="rad4_Renewed" type="radio" name="action_f6fe26d5-32fd-e711-8d62-000c2979ba39" value="Renewed" />
<label for="rad4_Renewed" >Yes, I want to renew now</label>
</span>

<span>
<input id="rad4_ExtendedHold" type="radio" name="action_f6fe26d5-32fd-e711-8d62-000c2979ba39" value="ExtendedHold" />
<label for="rad4_ExtendedHold" >Not sure, keep my seat for the time being</label>
</span>
</div>
</div>

<div class="buttonsFooter">
<button type="submit" class="small_button_a">
Proceed
</button>
</div>

<script>
$(document).ready(function(){
var myarray = [];
$( ".subsRenewEntry .seriesOptions span:nth-child(2) input[type=radio]").prop( "checked", true );
var true_val= $('.subsRenewEntry .seriesOptions span:nth-child(2) input[type=radio]').is(':checked');

if(true_val==true) {
$('.buttonsFooter').hide();
}
$(".subsRenewEntry .seriesOptions span input[type=radio]").change(function(){
$(".subsRenewEntry .seriesOptions span input[type=radio]:checked").each(function(){
var var_renewd= $(this).val();
if(var_renewd=="Renewed"){
$('.buttonsFooter').show();
}
myarray.push(var_renewd);
});
if(jQuery.inArray("Renewed", myarray) !== -1){
$('.buttonsFooter').show();
}else{
$('.buttonsFooter').hide();
}
myarray=[];
});
});

该代码将为您提供以下 url 输出。 https://www.screencast.com/t/uTBt2FtCFKkv

关于javascript - 检查不同 div 类中的单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48499673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com