प्रोटोटाइप सभी चेक बॉक्स कोड IE में काम करता है का चयन करें, लेकिन नहीं फ़ायरफ़ॉक्स

वोट
1

मैं प्रोटोटाइप 1.6.0.1 उपयोग कर रहा हूँ। मैं जब एक बटन क्लिक सभी चेक बॉक्स का चयन करने के लिए कोशिश कर रहा हूँ। इस कोड IE 6 में काम करता है, लेकिन नहीं फ़ायरफ़ॉक्स 3. में मैं गलत क्या कर रहा हूँ है?

<input class=submit type=button value=check all onclick=$(this.form).getInputs('checkbox').each(function (elem) {elem.checked = true;}); />
13/04/2009 को 21:36
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


4 जवाब

वोट
-1

आप क्या की जगह है

$(this.form) 

साथ में

$('MYFORMNAME')

?

13/04/2009 को 21:40
का स्रोत उपयोगकर्ता

वोट
0

प्रपत्र इनपुट की मूल है, इसलिए this.form मतलब नहीं चाहिए। एक आईडी चयनकर्ता या माता-पिता का प्रयोग करें।

दूसरी बात - की घोषणा इस दस्तावेज़ लोड पर कार्रवाई आवंटित करने के लिए जे एस, इस तरह से एक सा गन्दा, एचटीएमएल से अलग js एक साफ लचीला codebase है।

jQuery में यह sth की तरह होगा:

$(document).ready(function(){
  $.('#submitId').click(function(){ 
    // check the checkboxes
    });
}

प्रोटोटाइप में समान होना चाहिए।

13/04/2009 को 22:00
का स्रोत उपयोगकर्ता

वोट
3

मैं आपकी समस्या का परीक्षण करने के लिए एक बहुत ही बुनियादी पृष्ठ बनाया:

<html>
<head>
    <script type="text/javascript" src="prototype-1.6.0.3.js" ></script>
</head>
<body>
    <form>
        <input type="checkbox" id="test1" /> Test 1<br/>
        <input type="checkbox" id="test2" /> Test 2<br/>
        <input type="checkbox" id="test3" /> Test 3<br/>
        <input type="checkbox" id="test4" /> Test 4<br/>
        <input class="submit" type="button" value="check all" onclick="$(this.form).getInputs('checkbox').each(function (elem) {elem.checked = true;});" />
    </form>
</body>
</html>

और यह फ़ायरफ़ॉक्स 3.0.8 (और साथ ही आईई) में मेरे लिए ठीक काम करता है ...

मैं अन्य उत्तर से असहमत ... this.form ठीक किया जाना चाहिए (सबमिट बटन है, जो तब आप getInputs के माध्यम से इसे से चेक बॉक्स मिलता है चाहिए से प्रपत्र वस्तु हो जाता है)।

वास्तविक मुद्दा क्या है? कुछ भी नहीं है सब पर हो रहा? यदि हां, तो केवल एक चीज मैं बंद है सोच सकते हैं, बटन के रूप में उसी रूप में चेक बॉक्स कर रहे हैं?

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

<html>
<head>
    <script type="text/javascript" src="prototype-1.6.0.3.js" ></script>
    <script type="text/javascript" >
        function checkAll(button) {
            var form = $(button.form);
            var inputs = form.getInputs('checkbox');
            inputs.each(function (elem) {
                elem.checked = true;
            });
        }
    </script>
</head>
<body>
    <form>
        <input type="checkbox" /> Test 1<br/>
        <input type="checkbox" /> Test 2<br/>
        <input type="checkbox" /> Test 3<br/>
        <input type="checkbox" /> Test 4<br/>
        <input class="submit" type="button" value="check all" onclick="checkAll(this)" />
    </form>
</body>
</html>

तो फिर तुम समारोह में ब्रेक अंक डाल और यह सुनिश्चित करें 'बटन', 'रूप' और 'आदानों' क्या आप उन्हें रखना और प्रत्येक पाश में 'ELEM' भी है कि उम्मीद कर रहे हैं कि कर सकते हैं।

14/04/2009 को 02:21
का स्रोत उपयोगकर्ता

वोट
0

आप इस लिंक में समाधान देख सकते हैं: http://www.ryboe.com/2008/07/10/select-all-checkboxes-with-prototype-js.html

आप क्लिक करना चाहते हैं नहीं है, इस प्रयास करें:

var form = $('options');
checkboxes = form.getInputs('checkbox');
checkboxes.each(function(e){ e.checked = 0 });
25/06/2009 को 21:27
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more