0

マークアップ

<div id="tool_wrapper">
Tip: <input class="input_mod" id="tip_tip" type="text"/>
Text: <input class="input_mod" id="text_tip" type="text" />
<input type="submit" class="modbutton" id="sub_tip" />
</div>

jQuery

$(function(){
  var a = $('#tip_tip').text();
  var b = $('#text_tip').val();
  var text = $('#text_editor_textarea');
$('#sub_tip').click(function(e){
   e.preventDefault();
     text.val(text.val()+'[mod=' + a + ']' + b + '[/mod]');
  });
});

さて、jQueryの上にvar a var b1つが.text();あり、もう1つは.val()、これらの両方を試したことを述べたかったので、これも試しました。

$(function(){
  var a = $('#tip_tip').val(function(){
       $(this).text()
});
  var b = $('#text_tip').val(function(){
       $(this).text()
});
  var text = $('#text_editor_textarea');
$('#sub_tip').click(function(e){
   e.preventDefault();
     text.val(text.val()+'[mod=' + a + ']' + b + '[/mod]');
  });
});

レンダリングされたマークアップは次のようになりますが、最初のjQueryよりもさらに遠くになりました

[mod=[object Object]][object Object][/mod]

もちろん、これは私が望んでいることではありません。助言がありますか?

4

1 に答える 1

3

あなたはこれを試すことができます

$(function(){
var text = $('#text_editor_textarea');
$('#sub_tip').click(function(e){
    e.preventDefault();
    var a = $('#tip_tip').val();
    var b = $('#text_tip').val();
    text.val(text.val()+'[mod=' + a + ']' + b + '[/mod]');
  });
});

デモ

于 2013-01-06T23:07:28.927 に答える