2012-03-26 42 views
0

我想創建一個頁面,用戶粘貼他們的視頻代碼並點擊go按鈕。當他們這樣做時,我希望我的參數被附加到他們粘貼的參數上。我似乎無法弄清楚如何獲取現有值並添加參數。這是在一個對象標籤內。任何幫助表示讚賞。這裏的代碼:使用jquery添加參數到視頻代碼

Enter code for video:<br /> 
    <textarea rows="15" cols="50" name="code" id="code"></textarea><br /> 
    <button id="go">Go</button><br /><br /> 
    <script> 

    jQuery('#go').click(function() { 
    $("#code").val(function(i, vals) { 
     var myParams = "<param name=\"includeAPI\" value=\"true\" />"; 
     var $codes = $(vals).find('param').appendTo(myParams); 

     vals += $codes; 
      return vals; 
     }); 
     }); 

    </script> 

這個腳本只是給了我原來的粘貼加上[對象對象]在最後。

剪斷的視頻編碼

<object id="video" class="video_page"> 
<param name="bgcolor" value="#FFFFFF" /> 
<param name="width" value="480" /> 
<param name="height" value="270" /> 
<param name="playerID" value="1412222" /> 
<param name="playerKey" value="556555dw4ff4r" /> 
</object> 

回答

1

我相信下面的腳本會給你想要的結果:

<script> 

    jQuery('#go').click(function() { 
    $("#code").val(function(i, vals) { 
     var myParams = '<param name=\"includeAPI\" value=\"true\" />'; 
     vals = vals.substring(0,vals.indexOf('</object>')); 
     vals += myParams + '\n</object>'; 
     return vals; 
     }); 
     }); 

    </script> 

編輯:變化處理額外的輸入:

<script> 

    jQuery('#go').click(function() { 
    $("#code").val(function(i, vals) { 
     var myParams = '<param name=\"includeAPI\" value=\"true\" />'; 
     valend = vals.substring(vals.indexOf('</object>')); 
     vals = vals.substring(0,vals.indexOf('</object>')); 
     vals += myParams + valend; 
     return vals; 
     }); 
     }); 

    </script> 
+0

謝謝。雖然它可以去除在簡潔的情況下我沒有粘貼的對象之後的代碼。我會研究如何將其添加回來。 – 2012-03-26 20:16:19

+0

啊,是的,沒想到你可能會有額外的輸入......這個變化會處理: – redlena 2012-03-26 20:44:26

+0

謝謝。這非常有幫助! – 2012-03-26 20:52:05

0

您正在試圖連接具有在該行的字符串對象:

vals += $codes; 

您只需要在textarea中添加值即可:

jQuery('#go').click(function() { 
     $("#code").val(function(i, vals) { 
      var myParams = "\n<param name=\"includeAPI\" value=\"true\" />"; 
      vals += myParams; 
      return vals; 
     }); 
    }); 

DEMO:http://jsfiddle.net/nxQ7g/

編輯:對於瀏覽器中的對象識別新PARAM你可能有一個新的和修訂來替換現有的對象。添加到上面的代碼:

var object=$('<object>').attr({id: 'video', class:'video_page'}).html($("#code").val()); 

$('#video').replaceWith(object) 
+0

我能夠做到這一點,但我需要將參數添加到其他參數所在的對象標籤內。此方法將參數放置在 – 2012-03-26 18:18:17

+0

之外,這不是您的問題所暗示的。 – charlietfl 2012-03-26 18:20:58

+0

添加了一個修訂,以取代existng對象 – charlietfl 2012-03-26 18:31:28

0
$('#video').append($('<param />').attr({'name':yourName, 'value':yourVal})); 

將一個參數添加到您的視頻