Как заполнить галочку в Backbone-форме - PullRequest
1 голос
/ 03 марта 2012

я пытаюсь заполнить чекбоксы массива другими, которые пришли из массива json.мой код прост,

var cmyBox = Backbone.Collection.extend({
    model: mmyBox,
    url: 'http://localhost/wordpress/oferta/prueba1/?json=get_taxonomy&taxonomy=habilidad',
    parse: function (resp) {
        var skillsname = new Array();
        var i = 0;
        resp.terms.forEach(function(item) {
            skillsname[i] = item.slug
            i++
        });
        console.log(skillsname);
        return skillsname;
    }
});

var Form = Backbone.Model.extend({
    schema: {
        id:                     {},
        nombre:                 {},
        apellidos:              {},
        email:                  { type: 'Text', dataType: 'email', validators: ['required', validateEmail] },
        telefono:               { type: 'Text', dataType: 'tel', validators: ['required'] },
        nacionalidad:           { type: 'Select', options: ['Española', 'Extranjera'] },
        link1:                  { type: 'Text', title: 'Enlace a Reel', dataType: 'url' },
        link2:                  { type: 'Text', title: 'Enlace a Web/Blog', dataType: 'url' },
        others:                 { type: 'Text', dataType: 'url' },
        skills1:                { type: 'Checkboxes', options: cmyBoxes },
    }
});
var List = new Form ({
    skills1: true
});

Проблема в том, что массив создан и имеет то, что мне нужно, но не там, где он должен быть.Я не знаю, чтобы присвоить результат сбора в этом поле.Может быть, я делаю что-то не так.Что я хочу сделать, это:

skills1:                { type: 'Checkboxes', options: ["artist", "medico", "programador"] },

Спасибо

1 Ответ

2 голосов
/ 08 марта 2012

Ну, я нашел решение для тех, кому это нужно. Используйте функцию toString, она очень полезна ...

  var mmyBox = Backbone.Model.extend({
        toString: function() { return this.get('slug'); }
    });
   var cmyBox = Backbone.Collection.extend({
        model: mmyBox,
        url: 'http://localhost/wordpress/oferta/prueba1/?json=get_taxonomy&taxonomy=habilidad',
        parse: function (resp) {
            return _.map( resp.terms, function( item ){
              return {
                  id: item.id,
                  slug: item.slug
              };
            });
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...