2012-08-06 94 views
0

this fiddle當您選擇一個值時,它會填充所有輸入字段。我試圖在this fiddle中使用相同的原則,但它不起作用。我不太清楚爲什麼?將多個值添加到數組時遇到問題

我沒有得到任何錯誤,但我覺得好像下面的代碼是在錯誤的地方,並被忽略?

jQuery('#newtable select').on('change', function() { 
     var div_id = 'div_'+jQuery(this).attr('id'); 
     var select_val = jQuery(this).find('option:selected').data('value'); 
     console.log(); 
     if(select_val != '') { 
      var a = select_val.split(','); 
      var count = 0; 
      jQuery('tr#'+div_id+' .flag').each(function() { 
      jQuery(this).val(a[count]); 
      ++count; 
      }); 
     } else { 
      jQuery('tr#'+div_id+' input.input_text').val(''); 
     } 
    }); 

我想在第二個小提琴中獲得成功的是當您選擇'Ryan $ 100'時,它會更新下面的代碼。

<table id="newtable"> 
    <tr id='div_m2'> 
      <input type="hidden" class='input_text flag' value="0" name="id[]"> 
      <input type="hidden" class='input_text flag' value="0" name="name[]"> 
      <input type="hidden" class='input_text flag' value="0" name="sales[]"> 
      <input type="hidden" class='input_text flag' value="0" name="price[]"> 
      <td colspan="3"> 
       <select id='m2'> 
    <option value="" data-value="">Choose Salesman</option> 
    <option value="0" data-value="id_03,Ryan,1,100">Ryan $100</option> 
    <option value="0" data-value="id_01,Tom,1,100">tom $100</option> 
       </select> 
      </td> 
     </tr> 
    </table> 

這個

 <input type="hidden" class='input_text flag' value="id_03" name="id[]"> 
     <input type="hidden" class='input_text flag' value="Ryan" name="name[]"> 
     <input type="hidden" class='input_text flag' value="1" name="sales[]"> 
     <input type="hidden" class='input_text flag' value="100" name="price[]"> 

,當你做到這一點showValues()也運行,這樣,上述數據包括在我生成的表。

所以我希望輸出的表,如果你選擇瑞安$ 100是。

<table id="results"> 
     <tbody> 
     <tr><th>Rank</th><th>Salesman</th><th>Products Sold</th><th>Total Sale Price</th><th>Commission (30% of Total Sale Price + 5 for each sale)</th></tr> 
     <tr data-id="id_03"><td>1</td><td>ryan</td><td>2</td><td>110</td><td>550.00</td></tr> 
     <tr data-id="id_02"><td>2</td><td>Jerry</td><td>3</td><td>60</td><td>300.00</td></tr> 
     <tr data-id="id_01"><td>3</td><td>Tom</td><td>5</td><td>50</td><td>250.00</td></tr> 
     </tbody> 
    </table> 
+2

所以......那是什麼應該是在做什麼? – 2012-08-06 11:25:58

+1

您正在鏈接2個設計完全不同的小提琴,但您說您需要相同的功能。你能否詳細說明你期望在你的小提琴中發生什麼? – Nope 2012-08-06 11:27:27

+0

@AnthonyGrist我添加了更多的細節,讓我知道如果更多的細節仍然需要。 – ak85 2012-08-06 11:41:21

回答

2

這應該解決您的問題:

http://jsfiddle.net/VNSam/19/

如果要更新表格上的選擇,你應該調用showValue():-)

+0

謝謝我只是回覆你的最後一條評論,並表示將它作爲答案,所以我可以接受!正好與showValues()有關;在最後一行的第5行,可以將函數包含在自己的函數中嗎?顯然它的工作,我只是想知道它是否reccomeneded? – ak85 2012-08-06 12:08:55

+0

sry我沒有注意到它是一個大功能。嘗試添加$('#m2')。change(showValues);最後不要調用showValues()本身 – Chris 2012-08-06 12:16:08

相關問題