title: add value to textarea using jquery (simple texteditor)
body: <p>im trying to make a simple texteditor. its work fine, but i want to add the text on the selected text at textarea.</p>
  
  <p>in my code, when i click bold button it will show [b][/b] with cursor focused inside b tags, and when i click the button again, it will show inside b tags again. (this is what i want dont mind this code)</p>
  
  <pre><code>function typeInTextarea(el, newText) 
  {
      var start = el.prop("selectionStart")
      var end = el.prop("selectionEnd")
      var text = el.val()
      var before = text.substring(0, start)
      var after  = text.substring(end, text.length)
  
      el.val(before + newText + after)
      el[0].selectionStart = el[0].selectionEnd = start - 4 + newText.length
      el.focus()
      return false
  }
  
  $("#button-bold").on("click", function()
  {
      typeInTextarea($("#textareapost"), "[b][/b]")
      return false
  });
  </code></pre>
  
  <p>what im looking right now is, when I select "abcd" then i click the button, it will show [b]abcd[/b], i success with this code: </p>
  
  <pre><code>function typeInTextarea(el, newText) 
  {
      var start = el.prop("selectionStart")
      var end = el.prop("selectionEnd")
      var text = el.val()
      var before = text.substring(0, start)
      var after  = text.substring(end, text.length)
  
  
      el.val(before + newText.substring(0,3) + after + newText.substring(3,7)) //i making change in this one 
      el[0].selectionStart = el[0].selectionEnd = newText.length + end
      el.focus()
      return false    
  }
  </code></pre>
  
  <p>but when i didnt select the "abcd" text, it will show [b]abcd[/b][b][abcd/b]. just like copying the value of the text.</p>
  
  <p>what im asking is, how to add value on selected text (not replace it)
  and making if function when text is selected will add [b]abcd[/b] else will add [b] [/b] while the [b]abcd[/b] still there. </p>
  
  <p>basicly it will be like stackoverflow editor, but without live view. thanks for advance, hope I found the answer. been looking this for a weeks.</p>