mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	newforms: Implemented RadioFieldRenderer.__getitem__(), which allows for index lookup on radio fields
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4238 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
		| @@ -189,6 +189,10 @@ class RadioFieldRenderer(StrAndUnicode): | |||||||
|         for i, choice in enumerate(self.choices): |         for i, choice in enumerate(self.choices): | ||||||
|             yield RadioInput(self.name, self.value, self.attrs.copy(), choice, i) |             yield RadioInput(self.name, self.value, self.attrs.copy(), choice, i) | ||||||
|  |  | ||||||
|  |     def __getitem__(self, idx): | ||||||
|  |         choice = self.choices[idx] # Let the IndexError propogate | ||||||
|  |         return RadioInput(self.name, self.value, self.attrs.copy(), choice, idx) | ||||||
|  |  | ||||||
|     def __unicode__(self): |     def __unicode__(self): | ||||||
|         "Outputs a <ul> for this set of radio fields." |         "Outputs a <ul> for this set of radio fields." | ||||||
|         return u'<ul>\n%s\n</ul>' % u'\n'.join([u'<li>%s</li>' % w for w in self]) |         return u'<ul>\n%s\n</ul>' % u'\n'.join([u'<li>%s</li>' % w for w in self]) | ||||||
|   | |||||||
| @@ -514,6 +514,25 @@ beatle J P Paul False | |||||||
| beatle J G George False | beatle J G George False | ||||||
| beatle J R Ringo False | beatle J R Ringo False | ||||||
|  |  | ||||||
|  | A RadioFieldRenderer object also allows index access to individual RadioInput | ||||||
|  | objects. | ||||||
|  | >>> w = RadioSelect() | ||||||
|  | >>> r = w.render('beatle', 'J', choices=(('J', 'John'), ('P', 'Paul'), ('G', 'George'), ('R', 'Ringo'))) | ||||||
|  | >>> print r[1] | ||||||
|  | <label><input type="radio" name="beatle" value="P" /> Paul</label> | ||||||
|  | >>> print r[0] | ||||||
|  | <label><input checked="checked" type="radio" name="beatle" value="J" /> John</label> | ||||||
|  | >>> r[0].is_checked() | ||||||
|  | True | ||||||
|  | >>> r[1].is_checked() | ||||||
|  | False | ||||||
|  | >>> r[1].name, r[1].value, r[1].choice_value, r[1].choice_label | ||||||
|  | ('beatle', u'J', 'P', 'Paul') | ||||||
|  | >>> r[10] | ||||||
|  | Traceback (most recent call last): | ||||||
|  | ... | ||||||
|  | IndexError: list index out of range | ||||||
|  |  | ||||||
| # CheckboxSelectMultiple Widget ############################################### | # CheckboxSelectMultiple Widget ############################################### | ||||||
|  |  | ||||||
| >>> w = CheckboxSelectMultiple() | >>> w = CheckboxSelectMultiple() | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user