2013-03-21 50 views
1

我正在寫html和javascript代碼來從Json文件中獲取一些數據。 我的HTML代碼:如何將選擇值傳遞給另一個函數並根據傳遞的值從Json獲取數據?

<div class="section"> 
    <div class="sectionTitle"> 
     <h3>Configuration</h3> 
    </div> 
    <select name="selectDistribution" class="span12" onchange="callDist("value");" 

onfocus="this.selectedIndex = -1;"> 
     <option >Choose from distributions.</option> 
     <option value="1">Uniform</option> 
     <option value="2">Normal</option> 
     <option value="3">Exponential</option> 
     <option value="4">Geometric</option> 
</select> 
    <div id="parameters"></div> 
    <div id="distributionParams"> </div> 
    <button class="btn btn-large btn-block btn-primary" type="button">Send</button> 
    </div> 

當用戶選擇一個分發參數必須所示的選擇的下方。 例如,當用戶選擇均勻分佈時,必須在下面附加最小值和最大值,我想在文本框中顯示第一個最小值標籤及其值,而對於最大值,過程是相同的。

我callDist()函數 功能callDist(類型) {

$.getJSON('Dist.json', function(type){ 
    var $container = $('#parameters').empty(); 

    $.each(type.distributions, function(i, distributions) { 
     if(type==1){ 

      $.each(distributions.type, function(key, value) { 
      $container.append(key + ': ' + value + '<br />'); 
     } 
     //And so on... 

    }); 

    $container.append('<hr />'); 
    } 
); 

}); 


} 

而且我Dist.Json文件如下:

{ 
"distributions":[ 
    { 

    "name":"Uniform", 
    "type":"1", 
    "parameters":[{ "minValue":"2" , "maxValue":"4" }], 
    }, 
    { "name":"Normal", 
    "type":"2", 
    "parameters":[{ "mean":"5" , "standartDeviation":"3" }], 
    }, 
    { 
    "name":"Exponential", 
    "type":"3", 
    "parameters":[{"lamda":"2"}], 
    }, 
    { 
    "name":"Geometric", 
    "type":"4", 
    "parameters":[{"probability":0.2}], 
    } 
] 
} 

如何顯示參數只是用戶選擇後其中一個發行版,並在動態創建的標籤和文本框中顯示參數。 謝謝。

+0

要顯示在項目的選擇的參數,或者當您發送? – 2013-03-21 11:14:27

+0

@HodayaShalom我想在選擇分配後立即顯示參數。發送與某些不同有關。它用於將數據發送到服務器。參數必須顯示在選擇下方並位於發送按鈕上方。 – ntf 2013-03-21 11:17:27

+0

你能解釋一下你在函數'callDist'中試圖做什麼嗎? – 2013-03-21 11:23:08

回答

0

試試這個代碼...

function callDist(value) 
    { 
    $.getJSON('Dist.json', function(type){ 
     for(i in type.distributions) 
     { 
      if(type.distributions[i].name==value) 
      { 
       for(j in type.distributions[i].parameters) 
       { 
        for(k in type.distributions[i].parameters[j]) 
        { 
        var val1=distributions[i].parameters[j][k]; 
        var val2=distributions[i].parameters[j][k]; 
        } 

       } 

      } 


     } 



    }); 
    } 
+1

這是僅用於均勻分佈。是否有整個分佈參數的一般函數? – ntf 2013-03-21 11:51:23

+0

tyr現在...它會爲所有人工作。 – Dineshkumar 2013-03-21 12:24:16

+0

好的,如何從選擇中點擊時顯示這些值?任何想法? – ntf 2013-03-21 12:49:03

相關問題