2012-02-03 2 views
0

У меня есть текстовое поле и 2 ярлыка, один из ярлыков - «цена», а другой - «общая цена», они находятся в одном из столбцов в виде сетки.javascript, чтобы рассчитать общую стоимость?

gridview привязан к таблице базы данных, называемой Product, в основном она покажет список продуктов, и мне нужен javascript, чтобы рассчитать общую стоимость, взяв цену * количество.

Я пробовал приведенный ниже код, но когда я ввожу значение в текстовое поле, метка для изменения общей цены изменяется, но она влияет на каждую строку, чего я не хочу. Как мне его изменить?

$("[id*=txtQuantity]").live("change", function() { 
       if (isNaN(parseInt($(this).val()))) { 
        $(this).val('0'); 
       } else { 
        $(this).val(parseInt($(this).val()).toString()); 
       } 
      }).trigger("change"); 

      $("[id*=txtQuantity]").live("keyup", function() { 
       if (!jQuery.trim($(this).val()) == '') { 
        if (!isNaN(parseFloat($(this).val()))) { 
         var row = $(this).closest("table"); 
         $("[id*=lblTotalCost]", row).html(parseFloat($("[id*=price]", row).html()) * parseFloat($(this).val())); 
        } 
       } else { 
        $(this).val(''); 
       } 

      }).trigger("keyup"); 

ответ

0

Не видя разметку, трудно точно сказать, но если вы говорите, что изменяет цену нормально, но только влияет слишком много строк, я взять бы взглянуть на селекторе используется здесь:

var row = $(this).closest("table"); 
$("[id*=lblTotalCost]", row).html(parseFloat($("[id*=price]", row).html()) * parseFloat($(this).val())); 

row переменные является целой таблицей, и вы затем найти что-нибудь, где ID содержит lblTotalCost, похоже, это возвращает все общие поля расходов в таблице, и устанавливать их все сразу.

Опять не видя разметку, трудно советовать, но, возможно, попытаться изменить:

$(this).closest("table"); 

к:

$(this).closest("tr"); 

ограничить объем кода после него.

+0

спасибо, что вы можете также помочь мне посмотреть эту ссылку http://stackoverflow.com/questions/9125460/urgent-help-need-trouble-save-the-image-uploadc Я не могу ее решить, это срочно для меня – actKing

Смежные вопросы