javascript - questions - यह जांचने के लिए जावास्क्रिप्ट है कि क्या चेकबॉक्स को चेक या अनचेक किया जा रहा है या नहीं




javascript programs (5)

मेरे पास एक जावास्क्रिप्ट दिनचर्या है जो चेकबॉक्स के समूह पर कार्रवाई कर रहा है, लेकिन अंतिम क्रिया मैं चेक बॉक्स को चेक या चेक न किए गए चेकबॉक्स को सेट करना चाहता हूं यदि उपयोगकर्ता बॉक्स को चेक कर रहा था या अनचेकिंग के आधार पर।

दुर्भाग्य से, हर बार जब मैं जांच करता हूं कि जांच की जा रही है या अनचेक की गई है, तो वह "चालू" संकेत देता है कि उपयोगकर्ता हमेशा बॉक्स को चेक कर रहा है! किसी भी मदद की सराहना की जाएगी, मैंने जावास्क्रिप्ट को भी शामिल किया है

// Uncheck all the checkboxs with the same Tax Credit
for (i=0; i<arrChecks.length; i++)
{
    var attribute = arrChecks[i].getAttribute("xid")
    if (attribute == elementName)
    {
        // if the current state is checked, unchecked and vice-versa
        if (arrChecks[i].value == "on")   // <-- This is always returning true, even if the box is being unchecked
        {
            arrChecks[i].checked = 1;
        } else {
            arrChecks[i].checked = 0;
        }

    } else {
        arrChecks[i].checked = 0;
    }
} 

एक चेकबॉक्स टॉगल करने के लिए या आप उपयोग कर सकते हैं

element.checked = !element.checked;

तो आप उपयोग कर सकते हैं

if (attribute == elementName)
{
    arrChecks[i].checked = !arrChecks[i].checked;
} else {
    arrChecks[i].checked = false;
}

चेकबॉक्स तत्व की चेक की गई संपत्ति के बारे में आपको मूल्यांकन करना चाहिए

for (i=0; i<arrChecks.length; i++)
{
    var attribute = arrChecks[i].getAttribute("xid")
    if (attribute == elementName)
    {
        // if the current state is checked, unchecked and vice-versa
        if (arrChecks[i].checked)
        {
            arrChecks[i].checked = false;
        } else {
            arrChecks[i].checked = true;
        }

    } else {
        arrChecks[i].checked = false;
    }
}

यह भी सुनिश्चित करें कि आप इसे फ़ायरफ़ॉक्स और IE दोनों में जांचें। जेएस छेड़छाड़ के चेकबॉक्स के साथ कुछ गंदा बग हैं


checkbox का value विशेषता है जिसे आप द्वारा निर्धारित किया गया है:

<input type='checkbox' name='test' value='1'>

इसलिए जब कोई व्यक्ति उस बॉक्स को जांचता है, तो सर्वर 1 value के साथ test नामित चर प्राप्त करता है - जो आप की जांच करना चाहते हैं वह इसका value नहीं है (जो कभी भी बदल नहीं पाएगा, चाहे वह जाँच की गई हो या नहीं) लेकिन इसकी checked की checked स्थिति चेकबॉक्स

इसलिए, यदि आप इस कोड को बदलते हैं:

if (arrChecks[i].value == "on") 
{
    arrChecks[i].checked = 1;
} else {
    arrChecks[i].checked = 0;
}

इसके साथ:

arrChecks[i].checked = !arrChecks[i].checked;

यह काम करना चाहिए। इस के लिए आपको 0 और 1 की जगह true और false इस्तेमाल करना चाहिए।


function enter_comment(super_id) {
    if (!(document.getElementById(super_id).checked)) {
        alert('selected checkbox is unchecked now')
    } else {
        alert('selected checkbox is checked now');
    }
}

<input type="checkbox" name="a" id="1" value="1" onclick="enter_comment(this.value)" />

<input type="checkbox" name="b" id="2" value="2" onclick="enter_comment(this.value)" />






javascript