2017-02-23 71 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

當然可以。如果這是解決方案,請批准:) –