Бывший веб-прогер. Сейчас системный C++ прогер.

Наибольший вклад в теги

Все теги (10)

Лучшие ответы пользователя

Все ответы (8)
  • Как добавлять текст в input в зависимости от выбранного checkbox?

    evilandfox
    @evilandfox
    Javascript, meteor, Qt
    можно например хранить массив значений и добавлять/удалять оттуда эти значения при клике
    var values = [];
    
    $("#workDesign label").on("click", function(){
            var input = $(this).children("input");
            var tag = $(this).text();
            var i = values.indexOf(tag);
            if (input.prop("checked"))  {
                input.parent().addClass("selected");
                if (i==-1) values.push(tag);
                //alert(tag);
            } else {
                if (i>-1) values.splice(i, 1);
                input.parent().removeClass("selected");
            }
            $("#workDesignTags").val(values.join(", "));
        });

    codepen.io/anon/pen/xVpGda

    пришлось проверять каждый раз наличие/отсутствие значения в массиве, т.к. почему-то событие при одном клике вызывается два раза.
    надеюсь понял правильно
    Ответ написан
    1 комментарий
  • Как подключить share-кнопки соцсетей в React?

    evilandfox
    @evilandfox
    Javascript, meteor, Qt
    Фишка в том, что для таких иницилизируемых javascript'ом компонентов надо делать инициализацию в componentDidMont через доступ с помощью ref:
    codepen.io/evilandfox/pen/jAxJxv
    <script type="text/javascript" src="http://vk.com/js/api/share.js?93" charset="windows-1251"></script>
    <script>window.twttr = (function(d, s, id) {
      var js, fjs = d.getElementsByTagName(s)[0],
        t = window.twttr || {};
      if (d.getElementById(id)) return t;
      js = d.createElement(s);
      js.id = id;
      js.src = "https://platform.twitter.com/widgets.js";
      fjs.parentNode.insertBefore(js, fjs);
     
      t._e = [];
      t.ready = function(f) {
        t._e.push(f);
      };
      return t;
    }(document, "script", "twitter-wjs"));</script>
    <div id="main"></div>

    var Component = React.createClass({
      componentDidMount: function(){
        this.refs.vk.innerHTML = VK.Share.button(false, {type: "round", text: "Сохранить"});
        twttr.widgets.createShareButton(
          'https://dev.twitter.com/',
          this.refs.tw,
          {
            text: 'Hello World'
          });
      },
      render: function(){
        return (
          <div>
            <h4>Поделиться:</h4>
            <div ref="vk"></div>
            <div ref="tw"></div>
          </div>
        );
      }
    });
    
    ReactDOM.render(<Component/>, document.getElementById("main"));
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (8)