2017-02-23 148 views
0

我不确定我想要做什么是可能的。好的,所以我已经成功为我工作的网站创建了“放置图片”功能。这是它的外观(看起来会改善)。 This is how it currently looks如何使用jquery和textarea编辑隐藏的输入字段?

现在,我有这个文本框可以在其中编辑标题,但我试图使它能够在输入文本时能够编辑隐藏输入框的各个部分。例如,输入标题将编辑隐藏输入框内的标题部分。

这是它的外观:

<input value="meta":{"userId":"le_user","FolderName":"Name Of the Folder","Caption":"","DateStamp":"","Privacy":""}"> 

这是我用过

<div class="addtextTopic"> 
    <div class="leimage"> 
    <img src="funnylookingcar.png"> 
    <input class="tosend" value="meta":{"userId":"le_user","FolderName":"Name Of the Folder","Caption":"","DateStamp":"","Privacy":""}"> 
    </div> 
<textarea class="lecaptine" placeholder="Enter A Caption"></textarea> 
</div> 

    $(document).ready(function() { 
      $(".addtextTopic .lecaptine").onchange(function() { 
       var $cap = $(this) 
       $(".tosend").val($cap); 
      }); 
     }); 

现在,上面的代码不工作的代码,因为某些原因,我开始认为如果它有效,它将取代整个值,而不是标题部分。

另外,我在正确的方向吗?这甚至有可能吗?

+0

它需要'var $ cap = $(this).val()'从textarea中获取值。但是,是的,结果将取代隐藏输入中的所有文本。 (另外,'.onchange()'应该是'.change()'。) – nnnnnn

回答

0

首先改变你的Onchange方法change方法和复制的.lecaptline价值.tosend使用$cap.val()请看下面捣鼓更多信息

$(document).ready(function() { 
 
      $(".addtextTopic .lecaptine").change(function() { 
 
      debugger; 
 
       var $cap = $(this); 
 
       $(".tosend").val($cap.val()); 
 
      }); 
 
     });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="addtextTopic"> 
 
    <div class="leimage"> 
 
    <img src="funnylookingcar.png"> 
 
    <input class="tosend" value="meta":{"userId":"le_user","FolderName":"Name Of the Folder","Caption":"","DateStamp":"","Privacy":""}"> 
 
    </div> 
 
<textarea class="lecaptine" placeholder="Enter A Caption"></textarea> 
 
</div>

0

这个怎么样的变化?

$('.addtextTopic .lecaptine').bind('input propertychange', function({ 

}); 
2

这是一个可能的解决方案。

http://jsfiddle.net/o2gxgz9r/3167/

$(document).ready(function() { 
    $(".addtextTopic .lecaptine").keyup(function() { 
    var metaDefault = '"meta":{"userId":"le_user","FolderName":"Name Of the Folder","Caption":"{{CAPTION}}","DateStamp":"","Privacy":""}'; 
    var $cap = $(this).val(); 

    $(".tosend").val(metaDefault.replace('{{CAPTION}}', $cap)); 
    }); 
}); 

有几件事情错了你原来的代码。

  1. change事件只会在textarea模糊时触发,而不是击键。我改变了这keyup
  2. 我创建了一个metaDefault默认字符串与一个神奇的字符串{{CAPTION}}因此.replace()知道要替换。
  3. $cap需要是$(this).val()
+0

看起来很有前景。:) +1 – CodeMonkey

+0

呵呵,真的。我正要放弃整个项目。 WEW。我将继续构建它,并在完成后展示最终结果。谢谢。 – Divern

+0

当然可以。如果这是解决方案,请批准:) –