2012-08-23 11 views
2

就像我在問題中所說的...有沒有辦法點擊複選框,該鏈接將更改爲http://youtu.be/kffacxfA7G4?代碼我可以做些什麼來點擊html複選框並更改html輸入內容?

enter image description here

例子:

<div class="embed-code"> 
     <textarea rows="" cols="">http://www.youtube.com/watch?v=kffacxfA7G4</textarea> 
     <label> 
      <input type="checkbox" /> 
      Short URL</label> 
     </div> 

我想這個可以用JavaScript/jQuery的做...

是否有人在使用呢?在此先感謝...

編輯:

我已經成功地做到這一點是這樣的:http://jsfiddle.net/tpLfS/

$('#myCheckBox').click(function(){ var myLink = $('#myTextarea'); 

if ($('#myCheckBox:checked').val() !== undefined){ //checked 
myLink.val(myLink.val().replace('http://www.youtube.com/watch?v=kffacxfA7G4','http://youtu.be/kffacxfA7G4'));} 

else { //not checked  
myLink.val(myLink.val().replace('http://youtu.be/kffacxfA7G4','http://www.youtube.com/watch?v=kffacxfA7G4'));} 

}) 

能輕易地將它做什麼?

+0

爲了澄清,你問如何改變點擊的內容,或者是你詢問如何產生縮短的網址? – Zhihao

+0

是的,我問的是如何更改點擊內容。 – m3tsys

回答

1

在查詢其相當簡單:首先你需要給你的複選框,並textarea的一個id:

<textarea rows="" cols="" id="myTextarea">...</textarea> 
<input id="myCheckBox" type="checkbox" /> 

那麼你添加的JavaScript部分(在我使用jQuery爲例): 林不知道你怎麼想改變它。我覺得你只是想去掉「看V =?」

$('#myCheckBox').click(function(){ 
    var myLink = $('#myTextarea'); 

    myLink.val(myLink.val().replace('watch?v=','')); 
})​ 

例子:http://jsfiddle.net/E3f9M/

+0

但我怎麼能改變一個預定義的網址像'http:// youtu.be/kffacxfA7G4'我的意思是不只是從初始網址取代該部分?另外我注意到你的例子中,如果我再次勾選複選框,它仍然是第二個網址。 – m3tsys

+1

我剛剛展示瞭如何完成它的概念,您可以將之前的url保存在變量中,然後取消選中恢復。而對於網址:你可以用簡單的字符串操作(如split,substring,length)來做到這一點,或者更復雜的例子,你應該看看正則表達式(http://www.w3schools.com/jsref/jsref_obj_regexp.asp ) – fehrlich

+0

謝謝。根據你的例子,我設法做我正在尋找的東西。這裏是代碼:http://jsfiddle.net/tpLfS/你可以看看它,並告訴我它是否可以優化? – m3tsys

相關問題