2016-07-15 93 views
-1

我有一个产品页面可以动态创建项目选项。我想知道是否选择了第7个选项,但我不知道单选按钮的“名称”或“ID”,因为它们是自动生成的。如何知道是否选择第7个单选按钮而不知道名称或ID

function teasamplecheck() { 
 
\t if(document.form1.radio1[7].checked == true) { 
 
    alert("You have selected a sample"); 
 
} 
 
    else { 
 
     // DO NOTHING 
 
     } 
 
    } 
 
} 
 
});

<!--START: radio-format--> 
<div class="radio-format" itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 
<input type="radio" name="[oname]" id="radio-[value]" value="[value]" onClick="teasamplecheck();validateValues(document.add,1);updateprice();" [selected]> 
[feature] 
<div class="clear"></div> 
</div> 
<!--END: radio-format--> 

那么如何我看这组单选按钮,知道第七届一个选择?

+0

但你有一个'value'使用“检查”...这是最安全的方式去... – Rayon

回答

3

使用jQuery .eq()可能是一种方法。

function teasamplecheck() { 
    if($(".radio-format input").eq(6).prop("checked")) { 
     alert("You have selected a sample"); 
    } 
    else { 
     // DO NOTHING 
    } 
} 

这是.eq(6),因为参数是从零开始的。

所以......这是其父radio-format ...
如果你拥有整个radio-format格重复多次内部第七届输入...这将是:

function teasamplecheck() { 
    if($(".radio-format").eq(6).children("input").prop("checked")) { 
     alert("You have selected a sample"); 
    } 
    else { 
     // DO NOTHING 
    } 
} 

编辑
查看意见中的问题

要仅在点击发生在第7台收音机时触发警报,您​​必须更改条件:

function teasamplecheck(obj) { 
    if ((obj.value == $(".radio-format input").eq(6).val()) && (obj.checked)){ 
     alert("You have selected a sample"); 
    } 
    else { 
     // DO NOTHING 
    } 
} 

OR(如果整个radio-format DIV重复的):

function teasamplecheck(obj) { 
    if ((obj.value == $(".radio-format").eq(6).children("input").val()) && (obj.checked)){ 
     alert("You have selected a sample"); 
    } 
    else { 
     // DO NOTHING 
    } 
} 

它比较objonclick处理程序传递的值:

onClick="teasamplecheck(this); ... 
+0

这是很好的帮助...它的表现如预期,除了它始终运行的功能,而不仅仅是当“teasamplecheck() “ 叫做。 –

+0

你可以调用每个无线电广播的“onclick”函数......如果它不是你想要的,你必须在另一个条件下触发该函数。我想你只需要点击7号的警报......等一下。 –

+0

你使用第一种还是第二种解决方案? –

相关问题