0

私はextjs4で働いています。ラジオボタンを介して質問とそのオプションを表示するtplビューがあります-

Ext.define('Balaee.view.qb.qbqns.QbqnsView',
{
        extend:'Ext.view.View',
        id:'qbqnsViewId',
        alias:'widget.QbqnsView',
        store:'qb.QbqnsStore',
        cls:'QbqnsView',

        //autoScroll: true,
        config:
        {
            tpl:'<tpl for=".">'+
                '<div id="main">'+
                '</br>'+
                    '<b><id="q">{#}.{question}</b>'+
                    '<tpl for="options">'+     // interrogate the kids property within the data
                    '<p>&nbsp&nbsp<input type="radio" name="{parent.questionId}" value="{optionId}">&nbsp{option}</p>'+
                    //'<p>&nbsp&nbsp<input type="radio" name="{questionId}">&nbsp{option}</p>'+
                    '</tpl></p>'+
                   // '<p>---------------------------------------------------------</p>'+
                '</div>'+
                '</tpl>',
            itemSelector:'div.main' 
        }
});

選択したラジオボタンを取得するために、コードを次のように記述しました-

var QbqnsStore = this.getStore('qb.QbqnsStore');
var QbqnsModel = this.getModel('qb.QbqnsModel');
QbqnsModel = QbqnsStore.getAt(0);


var answers = '{"data":[';
var i = 0;
QbqnsStore.each(function (model) {
    i++;
    var inputs = document.getElementsByName(model.get('questionId'));

    for (var j = 0; j < inputs.length; j++) {
        if (inputs[j].checked) {    
            answers = answers + '{"paperId":"' + paperNumber + '","userId":"' + userId + '","questionId":"' + inputs[j].name + '","option":' + inputs[j].value + '},'
        }
    }
}); 

そのため、正しく機能しています。ただし、ユーザーはラジオボタンをクリックして選択する必要があります。ユーザーがラジオボタンの値をクリックしても、それが選択されるような機能を作りたいです。extjs4でこれを実行する方法

4

1 に答える 1