2012-02-11 65 views
1

我有一個後續到我已經回答(非常滿意)的問題在這裏:如何用jQuery中的兩個其他輸入值替換輸入的兩個部分?

How to replace part of one text field with a value from another text field in jQuery?

這回答瞭如何在輸入中的鏈接更新子編號。

我試圖通過其「mydomain.com」從第二輸入更新延長本:

http://jsbin.com/ojosag/3/edit

當我嘗試改變{} mydomain.com,我失去了{ subid}部分。有人能讓我擺脫苦難嗎?

+1

你可以把你的問題置於問題中嗎?目前這只是一堆鏈接。 – 2012-02-11 21:16:06

回答

0

以下是一種解決方案。可能會變得更有效率。

$(document).ready(function(){ 
    var domainstr="http://subdomain.mydomain.com"; 
    $("input#alpha,input#alphatwo").keyup(function(){ 
     var alphaVal = $("input#alpha").val(); 

     var retVal = domainstr; 
     if(alphaVal !== '') 
      retVal = domainstr.replace("subdomain",alphaVal); 

     var alphaTwoVal = $("input#alphatwo").val(); 
     if(alphaTwoVal !== '') 
      retVal = retVal.replace("mydomain",alphaTwoVal); 

     $("input#bravo").val(retVal); 
    }); 
}); 
1

擴大對什麼零分心建議你原來的問題,下面應該做的伎倆:

$(document).ready(function(){ 

    var valueTemplate = "http://{subdomain}.{domain}.com"; 
    var defaultSubDomain = "subdomain"; 
    var defaultDomain = "mydomain"; 

    var alphaOne = $("input#alpha"); 
    var alphaTwo = $("input#alphatwo"); 

    alphaOne.add(alphaTwo).keyup(function(){ 

     var value = (alphaOne.val()) ? alphaOne.val() : defaultSubDomain; 
     var valueTwo = (alphaTwo.val()) ? alphaTwo.val() : defaultDomain; 

     $("input#bravo").val(valueTemplate.replace("{subdomain}", value).replace("{domain}", valueTwo)); 

    }); 

}); 

當你開始在第一或第二輸入打字,第三意志的價值被更新。如果其中任何一個字段爲空,則將使用defaultSubDomaindefaultDomain變量的值。

+0

更清潔的代碼。 – JSuar 2012-02-12 00:32:21

相關問題