0

同じオブジェクト タイプをArray()

たとえば、すべてのチェックボックスを選択して値を配列に保存する場合:

selectAllCbs: function() {
            var self = this;
            $('#' + instanceName + 'table_form input[type=checkbox]').each(function(index,cb) {
                if($(cb).prop('disabled') == false) {
                    $(cb).prop('checked',true);
                    console.log("Select all clicked:" + cb); //gives me [object HTMLInputElement] result
                    selected.push(cb); //save to an array
                    self.changeRowStyle(cb);
                }
            });

ユーザーが行をクリックしたときにほぼ同じコードを使用すると、異なるタイプが得られます。

rowClicked: function(id) {
        var cb = $('#' + instanceName + 'cb_' + id);

        if($(cb).is(':checked')) {
            $(cb).prop('checked',false);
            selected.splice(selected.indexOf(this.value),1);
        } else {
            $(cb).prop('checked',true);
            console.log("Row clicked:" + cb); //gives me [object Object]
            selected.push(cb);
        }
        this.changeRowStyle(cb);
    },

それで、主な問題は、rowClicked 要素を[object HTMLInputElement]型に保存する方法ですか?

最初の例では値を読み取ることができselected[i].value、2 番目の例では値を読み取る必要があるため、selected[i][0].value.

4

2 に答える 2

1

rowClicked、次を置き換えます。

selected.push(cb);

と:

selected.push(cb[0]);

rowClickedforthis.changeRowStyle(cb[0])メソッドで同じことを行います

于 2013-08-01T11:17:48.047 に答える