Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge branch 'fix_issue_1851' of https://github.com/tigbro/jquery-mobile

 into tigbro-fix_issue_1851

Conflicts:
	js/jquery.mobile.forms.checkboxradio.js
  • Loading branch information...
commit 033ce4ab9622ff42ed0655899116029481075db6 2 parents 47cb8cb + ec06fc1
scottjehl authored
7 js/jquery.mobile.forms.checkboxradio.js
View
@@ -128,8 +128,11 @@ $.widget( "mobile.checkboxradio", $.mobile.widget, {
},
//returns either a set of radios with the same name attribute, or a single checkbox
- _getInputSet: function() {
- return this.element.closest( "form,fieldset,:jqmData(role='page')" )
+ _getInputSet: function(){
+ if(this.inputtype == "checkbox") {
+ return this.element;
+ }
+ return this.element.closest( "form,fieldset,:jqmData(role='page')" )
.find( "input[name='"+ this.element.attr( "name" ) +"'][type='"+ this.inputtype +"']" );
},
18 tests/unit/checkboxradio/checkboxradio_core.js
View
@@ -27,6 +27,24 @@
ok( !button.hasClass( "ui-checkbox-on" ), "no active styles after click" );
});
+ test( "clicking a checkbox within a controlgroup does not affect checkboxes with the same name in the same controlgroup", function(){
+ var input1 = $("#checkbox-31");
+ var button1 = input1.parent().find(".ui-btn");
+ var input2 = $("#checkbox-32");
+ var button2 = input2.parent().find(".ui-btn");
+
+ ok(!input1.attr("checked"), "input1 not checked before click");
+ ok(!input2.attr("checked"), "input2 not checked before click");
+
+ button1.trigger("click");
+ ok(input1.attr("checked"), "input1 checked after click on input1");
+ ok(!input2.attr("checked"), "input2 not checked after click on input1");
+
+ button2.trigger("click");
+ ok(input1.attr("checked"), "input1 not changed after click on input2");
+ ok(input2.attr("checked"), "input2 checked after click on input2");
+ });
+
asyncTest( "change events fired on checkbox for both check and uncheck", function(){
var $checkbox = $( "#checkbox-2" ),
$checkboxLabel = $checkbox.parent().find( ".ui-btn" );
13 tests/unit/checkboxradio/index.html
View
@@ -41,6 +41,19 @@ <h2 id="qunit-userAgent"></h2>
<label for="checkbox-2">I agree</label>
</fieldset>
</div>
+
+ <div data-nstest-role="fieldcontain" data-nstest-role="controlgroup">
+ <div>
+ <legend>Agree to the terms 3.1:</legend>
+ <input type="checkbox" name="checkbox-3" id="checkbox-31" class="custom"/>
+ <label for="checkbox-31">I agree 3.1</label>
+ </div>
+ <div>
+ <legend>Agree to the terms 3.2:</legend>
+ <input type="checkbox" name="checkbox-3" id="checkbox-32" class="custom"/>
+ <label for="checkbox-32">I agree 3.2</label>
+ </div>
+ </div>
</div>
<div data-role="fieldcontain" id="radio-active-btn-test">
Please sign in to comment.
Something went wrong with that request. Please try again.