2012-08-06 83 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

相关问题