|
|
|
我使用phonegap製作app,打算多國語言化,翻譯使用google translate,我有找到一個google trnaslates plugin,而且也順利翻譯,不過有一個小問題,這個plugin只能翻譯一個元素,超過2個就不行,我想要一次翻譯多個,而且還要輸出到不同的欄位,不知要增加什麼?
翻譯外掛
http://www.superawesomejquery.com/plugins/2_jquery-google-translate-plugin/demos/
底下是google.js程式碼
----------------------------------------------
$(document).ready(function() {
$('.simple-input').googleTranslate({
target : '.simple-output',
targetLang : 'zh-tw',
apiKey : 'AIzaSyCQNwanknkUx3c'
});
});
------------------------------------------------------------
底下是我的App範例程式碼
<script type="text/javascript" src="google/jquery.googleTranslate-2.js"></script>
<script type="text/javascript" src="google/google.js"></script>
</head>
<body >
<p><span class="simple-input">hi</span></p>
<p><span class="simple-input">world</span></p>
<p>
<span class="simple-output"></span>
<span class="simple-output"></span></p>
</body>
現在翻譯結果會出現
你好 你好
或是
世界 世界
1.有辦法一次翻譯多個元素嗎?現在只會翻譯一個元素
2.輸出結果有辦法只要建立一個元素就可收納全部翻譯結果,不用要輸出2個元素,就要建立2次
<span class="simple-output"></span>嗎?
謝謝
照我從他原始碼裡面看到的邏輯,要達成你的目的是做不到的,建議你直接改他的原始碼。原始碼不到100行,而且關鍵邏輯只有幾行,應該不難改。
問題在哪裡的話...
var input = $(element).html();
這樣無法處理多個元素的innerHTML。
[-隱藏]
回應 :
1
pcschoolleo 說:
我看了一下jquery的api,假如超過1個相同的元素,只會顯示第一個符合的,所以我的問題應該要找到,可以處理多個元素的api,對吧,努力找尋中
In an HTML document, .html() can be used to get the contents of any element. If the selector expression matches more than one element, only the first match will have its HTML content returned.
2012-04-26 11:52:11
2
fillano 說:
$('.simple-imput').each(function(){console.log($(this).html())});
像這樣才能每個元素執行一次html()。
$()找到的結果是一個list,即使只有一個元素也一樣。
另外,如果你看過google translate api的說明,你就會知道可以傳多筆&q=a;&q=c資料給他,翻譯完回傳的也會是陣列,然後你再處理這個陣列就可以。
2012-04-26 12:17:21
3
pcschoolleo 說:
我這樣改好樣不行耶!還是我會錯意了。
我是jquery的初學者,買了一本jquery書,也借了一本書,看完後只有概念而已。
$(document).ready(function() {
$('.simple-input').each(function(){console.log($(this).html())}).googleTranslate({
target : '.simple-output',
targetLang : 'zh-tw',
apiKey : 'AIzaSyCQNwanknkUx3c'
});
});
2012-04-26 20:28:42
|
|
|
那你的情形是一個蘿蔔多個坑,一個input塞到到兩個output,
看這段:
target : '.simple-output',
你有兩個class是simple-input,這就說明了每一個simple-input會去塞在兩個simple-output內,於是就重複了。
[-隱藏]
回應 simon88:
2
pcschoolleo 說:
我去官方jquery提問,有人回答,而且我測試確認可以執行,我會找時間放到github或jquery外掛分享給大家,謝謝大家。
答案為
$(function() { // Shorthand for $(document).ready(function() {
$('.simple-input').each(function(i) {
$(this).googleTranslate({target: '.simple-output:eq(' + i + ')',
targetLang : 'zh-tw',
apiKey : 'AIzaSyCQNwankbSubzm'
});
});
});
2012-05-01 11:26:30
回應 :
請填寫您的回應,長度限為1,000個字,回應不計點數,也不限使用次數
邦友收藏動態
- 檔案系統的設計與效能 - 磁碟結構對檔案系統效能的影響 (channing342)
- 賽門鐵克:臺灣是全球傀儡網路重災區 (a0953278022)
- 蒸發不了的價值 (s863323)
- Google I/O:Google釋出Android Studio整合開發環境 (licsist)
- 分享大小事-個人儲存除了硬體也要軟體來配,個人儲存限定文! (temo)
- 蒸發不了的價值 (gpmap)
- 【書摘】從領導臉書Big Data團隊經驗談起:資訊平臺與資料科學家的崛起 (prtamith)
- 預先知道公司會停電,伺服器和網路設備都要關機嗎 (prtamith)
- 徹底搜查- 封鎖USB 2012 最新13招 (zuyan)
- 徹底搜查- 封鎖USB 2012 最新13招 (vaisramana)
相關問答
- Javascript面面觀:網頁篇《jQuery inside - 核心架構》
- 看jQuery作者John Resig談進階JavaScript
- Javascript面面觀:網頁篇《jQuery inside - events》
- Javascript面面觀:網頁篇《jQuery inside - selector》
- Javascript面面觀:網頁篇《jQuery inside - plugin》
- Javascript面面觀:網頁篇《Frameworks/Libraries》
- [ASP.NET 控制項實作 Day30] 整合 jQuery ContextMenu 的右鍵選單控制項
- IT30書之10-《網頁設計‧愛上jQuery》
- IT30書之7-《精通JavaScript》
- jQuery 1.2.6釋出,改善效能並將Dimension的plug-in放到核心
- [Tool] 一款漂亮的jQuery Chart Plug-in-Highcharts
- Javascript面面觀:應用篇《測試》
- IT30書之3-《JavaScript學習手冊》
- 快速搞懂jQuery選取dom的技巧
- extjs、jquery、ajax三者有啥關係,有什麼不同的地方嗎??
- Javascript面面觀:應用篇《Javascript引擎》
- IT30書之4-《Head First JavaScript》
- [Tool]jQuery Chart Plug-in又一枚-jqPlot
- IT30書之2-《JavaScript大全》
- 有趣的V8 Javascript Engine

閱讀(1628)

