2012-09-06 40 views
6

Tôi đã làm theo các quy trình cơ bản để có được giá trị được chọn của biểu mẫu nút radio của tôi.(extjs) Nhận giá trị được chọn của nút radio dưới dạng. Không trả lại giá trị

 .... 
     xtype: 'radiofield', 
     name: 'timespan', 
     id: 'timespan', 
     value: 7, 
     checked: true, 
     fieldLabel: 'Time Span', 
     boxLabel: '7 days' 
    }, { 
     xtype: 'radiofield', 
     name: 'timespan', 
     value: '30', 
     fieldLabel: '', 
     labelSeparator: '', 
     hideEmptyLabel: false, 
     boxLabel: '30 days' 
    }, { 
     xtype: 'radiofield', 
     name: 'timespan', 
     value: '60', 
     fieldLabel: '', 
     labelSeparator: '', 
     hideEmptyLabel: false, 
     boxLabel: '60 days' 
    }, { 
     xtype: 'radiofield', 
     name: 'timespan', 
     value: 'all', 
     fieldLabel: '', 
     labelSeparator: '', 
     hideEmptyLabel: false, 
     boxLabel: 'All' .... 

Tôi đã sử dụng các phương pháp như:

Ext.getCmp('filter_form').getForm().getValues()['timespan'] 

Nhưng khi tôi chạy ra cửa sổ Console, thay vì nhận được giá trị của các nút chọn, tôi nhận được từ on. Đưa cái gì?! Tôi đã thử một số combo khác nhau của getValues, getForm, v.v. nhưng tôi luôn kết thúc với on hoặc true hoặc false. Những gì đang xảy ra ở đây?

Trả lời

3

đặn nó ra! Hóa ra mã mẫu extjs của tôi có lỗi!

Tôi đã thay đổi value thành inputValue. Lấy từ Sencha Documents, inputValue là:

Giá trị mà nên đi vào giá trị các yếu tố đầu vào của tạo thuộc tính và nên được sử dụng như giá trị tham số khi nộp như một phần của một biểu mẫu. Mặc định là: 'on'

Aha !! Bởi vì tôi đã không chỉ định giá trị "thực", giá trị mặc định là on.

Hãy cẩn thận khi sử dụng các ví dụ về extjs/mã mẫu!

4

thử đặt inputValue thuộc tính của radio. Đó là giá trị sẽ đi vào thuộc tính giá trị của phần tử đầu vào được tạo và sẽ được sử dụng làm giá trị tham số khi gửi dưới dạng một phần của biểu mẫu.

{ 
     xtype   : 'radiofield', 
     name   : 'timespan', 
     inputValue  : '30', 
     hideEmptyLabel : false, 
     boxLabel  : '30 days' 
} 

sau đó nó có thể được truy cập như

Ext.ComponentQuery.query('[name=timespan]')[0].getGroupValue(); 

tham khảo docsgetGroupValue

+0

getGroupValue() không đọc cho tôi. Nó không được công nhận. Tôi đã tìm thấy một 'workaround' tuy nhiên mà không sử dụng getGroupValue(). Cảm ơn! – hereiam

Các vấn đề liên quan