2013-04-10 133 views
-1

我在php(實際上cakephp),HTML5,& Jquery構建一個web應用程序。 在一頁中,我有一個表格,它會做太多的計算。其中有一個可能有30個輸入字段的表單。這些字段通過公式相互關聯。當其中一個更改其值時更新幾個輸入字段

每當字段值發生變化時,我想更新所有其他字段值。如何實現這一目標?

注意:如果有一些SDK可以幫助我,那會更好。

更新1

我會做一個簡單的例子:它是關於設計的一些工業產品,我們稱之爲內閣。

櫥櫃由太多物品組成,主要取決於:寬度/高度/深度+一些附加特性(約5)。我需要計算組成機櫃的組件的規格。大概有15個組件。每個組件都有一個特定的公式,並可能取決於所有提到的輸入。如果我更改寬度,許多組件規格應自動更新。

+0

這些領域之間的關係總是一樣的嗎?我的意思是,input1通過formula1與input2相關,而input1與input1通過formula1相關?因爲如果綁定每個輸入的公式總是不一樣,那麼你就被一個一個地編碼。請包含示例代碼以更好地理解。 – Nunser 2013-04-10 18:25:00

+0

請參閱更新1 – Miracle 2013-04-10 18:43:17

+0

根據其用途,您是否考慮過執行計算服務器端?這樣,您可以觸發AJAX提交併使用服務器計算的結果更新字段。這*會比純粹的客戶端計算慢,但可能更靈活;根據計算的確切性質,計算可能是「模型」的一部分,在這種情況下,輸入值可以同時「驗證」(例如「寬度不能爲負值」) – thaJeztah 2013-04-10 21:13:08

回答

0

總的想法是,你需要使用一個通用的選擇:

$(".my_inputs") 

添加 '上()' 事件處理程序:

$(".my_inputs").on('change', function() { } 

然後,在它內部的數據做任何類型操縱你想要的:

$(".my_inputs").on('change', function() { 
    // use jquery to repeat through all .my_inputs and alter their data 
    // or set all .my_inputs to a specific value 
    // or do anything else you want 
} 

現在,你有一般的想法,期待通過jQuery API找到你想要操縱數據的細節(或者只是使用好的Javascript'! :)

0

它仍然是一個JS解決方案。每個輸入框給一個類別名稱(如「MyClass的」),那麼你可以這樣做:

$('#myInputfield').keyup(function(){ 
    $('.myClass').each(function(index){ 
     $(this).val($('#myInputfield').val()); 
    }); 
}); 

注意:您需要jQuery來實現這一點,它是假設你在短短的一個文本框查找更改(即ID爲myInputfield的文本框)。主文本框不應該具有相同的類。

相關問題