मेरे पास चेक बॉक्स वाला एक फॉर्म है जो गतिशील रूप से आबादी वाला है जिसके परिणामस्वरूप निम्न की तरह कुछ होता है:

<input type="checkbox" name="1-subject" value="Option A" class="check" id="id_1-subject_0">
<input type="checkbox" name="1-subject" value="Option B" class="check" id="id_1-subject_1">
<input type="checkbox" name="1-subject" value="Other:" class="check" id="id_1-subject_2">

<input type="text" name="1-subject_other" id="id_1-subject_other" class="text" onkeyup="Test();" >

अगर मुझे टेक्स्ट फ़ील्ड में कुछ भी टाइप किया गया है तो स्वचालित रूप से चेक किए जाने के लिए "अन्य:" चेकबॉक्स की आवश्यकता है, मैं यह कर सकता हूं:

<script>
function Test(){
    var a = document.getElementById("id_1-subject_other");
    var b = document.getElementById("id_1-subject_2");
    if (!a) {
        b.checked=true;
    }
}
</script>

हालांकि यदि कोई अन्य विकल्प जोड़ा जाता है, तो 'अन्य:' चेकबॉक्स id_1-subject_3 में बदल जाएगा। मैं इस क्षेत्र को गतिशील रूप से बदलते आईडी द्वारा var b के रूप में कैसे प्राप्त करूं? या मैं 'अन्य:' के मूल्य से प्राप्त कर सकता हूं?

0
Fish 3 अप्रैल 2018, 21:20

2 जवाब

सबसे बढ़िया उत्तर

चूंकि "अन्य:" इनपुट का मान नहीं बदलेगा, आप इसका उपयोग कर सकते हैं:

document.querySelector('input[value="Other:"]')

और तत्व प्राप्त करें।

1
Tomas Prado 3 अप्रैल 2018, 18:34

आप इसे jQuery के साथ मूल्य से कर सकते हैं।

$("input[type=checkbox][value='Other:']").prop("checked",true);
0
j08691 3 अप्रैल 2018, 18:39