2016-07-15 43 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

你使用第一種還是第二種解決方案? –

相關問題