Javascript JScript,它允许我将表单元格中的值添加到一起,添加哪些值取决于从下拉列表中选择的选项

Javascript JScript,它允许我将表单元格中的值添加到一起,添加哪些值取决于从下拉列表中选择的选项,javascript,jquery,model-view-controller,asp.net-mvc-2,jscript.net,Javascript,Jquery,Model View Controller,Asp.net Mvc 2,Jscript.net,基本上,我有一个下拉列表,用于在我的视图(MVC 2)中构建PC,对于所有非MVC人员,下面的内联视图代码将生成一个标准下拉列表: 我不希望每次我希望获得下拉列表中任何选项的价格时都返回到Ajax请求,因为我只有ProductID作为零件的值和名称,而没有价格。我在考虑做如下的事情,这样我就可以在一个隐藏表中的表行中拥有所有productID和相应的价格。因此,ProductID在行的一个单元格中,price在其旁边的单元格中。现在我需要一个JavaScript,它将使用下拉列表中任何选定选

基本上,我有一个下拉列表,用于在我的视图(MVC 2)中构建PC,对于所有非MVC人员,下面的内联视图代码将生成一个标准下拉列表:


我不希望每次我希望获得下拉列表中任何选项的价格时都返回到Ajax请求,因为我只有ProductID作为零件的值和名称,而没有价格。我在考虑做如下的事情,这样我就可以在一个隐藏表中的表行中拥有所有productID和相应的价格。因此,ProductID在行的一个单元格中,price在其旁边的单元格中。现在我需要一个JavaScript,它将使用下拉列表中任何选定选项的值(ProductID),通过使用表中的ProductID作为键在隐藏表中查找该选项的价格,并从同一行的下一个单元格中获取价格。对下拉列表中的所有选定选项执行此操作,将它们相加并显示总数。这能做到吗?HTML表是否有可以用Jscript连接的索引

<table border="1" id="ProcessorPrices" style="visibility: none;">
<% foreach (var itm in Model.processor)
{ %>

<tr>
<td id="cpuprice"><%: itm.ListPrice %></td>
<td id="cpupid"><%: itm.ProductID %></td>

</tr>

<% } %>


</table>


谢谢..

JQuery可以使用链接到表行的索引中,但是对您的设计进行调整可能会使查找价格变得更容易:

<table border="1" id="ProcessorPrices" style="visibility: none;">
<% foreach (var itm in Model.processor)
{ %>

<tr>
<td id="cpupid_<%: itm.ProductID %>"><%: itm.ListPrice %></td>    
</tr>

<% } %>


</table>

尝试了,但返回的是NaN(不是数字),而不是总数。似乎parseFloat无法将$(this.val()).text()转换为float或带有parseInt的int?嗯,好的-抱歉,我现在无法检查这一点,但请尝试使用.html()而不是.text()-如果这样做不好,我下次会给你一些肯定有效的东西:)
<table border="1" id="ProcessorPrices" style="visibility: none;">
<% foreach (var itm in Model.processor)
{ %>

<tr>
<td id="cpupid_<%: itm.ProductID %>"><%: itm.ListPrice %></td>    
</tr>

<% } %>


</table>
var allSelects = $("select");
allSelects.change(function() {
  var total = 0;
  allSelects.filter("[selectedIndex!='0']").each(function() {
    total += parseFloat($("#cpupid_" + $(this).val()).text());
  });
  $("#resultBox").html(total);
});