2016-04-18 61 views
0

在我的(gravityform)我有兩個字段,一個單選按鈕或複選框和一個數字字段。 我想傳遞一個值(是或不是)到單選按鈕,基於數字字段,所以如果我填寫一個數字比例如10的默認值小,我得到選中單選按鈕的複選框與「是」或「不是」。 無論如何在提交之前或之後都有可能。以相同的形式傳遞值(是或否)到單選按鈕

非常感謝。

+0

歡迎來到Stack Overflow。在問這樣一個普遍問題之前,你應該先自己嘗試一下。 –

回答

0

使用一個名爲「keyup」的事件,根據該事件可以更改單選按鈕的值。試試下面的代碼:

<html> 
 

 
<head> 
 
    <script src="https://code.jquery.com/jquery-2.2.3.js" integrity="sha256-laXWtGydpwqJ8JA+X9x2miwmaiKhn8tVmOVEigRNtP4=" crossorigin="anonymous"></script> 
 
    <script> 
 
    $(document).ready(function() { 
 
     $("#numbervalue").on("propertychange change keyup", function() { 
 
     var val = $("#numbervalue").val(); 
 
     if (val > 10) { 
 
      $("#one").prop("checked", false); 
 
      $("#two").prop("checked", true); 
 
     } else { 
 
      $("#one").prop("checked", true); 
 
      $("#two").prop("checked", false); 
 
     } 
 
     }); 
 
    }); 
 
    </script> 
 
</head> 
 

 
<body> 
 
    <form action=""> 
 
    Number: 
 
    <br> 
 
    <input type="number" name="numbervalue" id="numbervalue" value="10"> 
 
    <br> 
 
    <br>Value is more than 10 ? 
 
    <br> 
 
    <input type="radio" name="truth" id="one" value="0" checked>No 
 
    <br> 
 
    <input type="radio" name="truth" id="two" value="1">Yes 
 
    <br> 
 
    </form> 
 
</body> 
 

 
</html>

+0

一個注意你的解決方案和一般的「keyup」解決方案,他們不處理鼠標剪切/粘貼事件。如果您通過右鍵單擊粘貼一個數字+粘貼或用右鍵單擊+剪切刪除當前數字或數字的一部分,它將不會觸發按鍵事件。 – mhodges

+0

感謝您指出了這一點..我已經相應地更新了我的解決方案。 – zaffer

0

這裏是一個非常基本的演示爲你正在嘗試做的事:

DEMO

的基本想法是,你看看在輸入字段中的值,並檢查或相應取消選中的單選按鈕。

0

您應該爲數字輸入註冊事件處理程序。

純JS的解決方案:

var radioYes = document.getElementById("choice_1_49_0"), 
    radioNo = document.getElementById("choice_1_49_1"), 
    valueToCheck = 10; 

document.getElementById("input_1_38").addEventListener("change", function() { 
    if (+this.value > valueToCheck) 
     radioYes.checked = true; 
    else 
     radioNo.checked = true; 
}, false); 

JSFiddle

編輯:根據您的標記更新後的代碼。

+0

ok這裏是我的html [code]

[code] – Serjej

+0

我剛更新了我的代碼,按照yo你的標記。一探究竟! –

0

好,謝謝,這個工作,真棒!

<script> 
    $(document).ready(function() { 
     $("#input_1_38").on("propertychange change keyup", function() { 
     var val = $("#input_1_38").val(); 
     if (val > 6575) { 
      $("#choice_1_49_0").prop("checked", false); 
      $("#choice_1_49_1").prop("checked", true); 
     } else { 
      $("#choice_1_49_0").prop("checked", true); 
      $("#choice_1_49_1").prop("checked", false); 
     } 
     }); 
    }); 
    </script> 
相關問題