2012-07-23 68 views
0

我有一個輕微的問題訪問用jQuery的用戶控件中的文本框。jquery將正確的usercontrol文本框值設置爲0

在我的頁面上,我有一個網格控件,在行28,29,30上,我使用相同的usercontrol填充單元格。這是因爲用戶控件用於輸入百分比,而在一列中,三個值不能超過100%。

因此,如果發生這種情況,我想將正確的文本框值設置爲0或更改顏色,即三個數字超過100%的列。我的問題是我無法訪問與jquery的文本框。

的Javascript

function percentageCheck(objNetMarginUnitsSoldFullPrice, objNetMarginUnitsSoldMarkdown, objNetMarginGoodsUnsold) { // pass objects with values 
    var percentageCntr = new Array(); 
    cntrString = ''; 

    for (var i = 1; i < 15; i++) { // 14 cells in row. Ignore cell 0 

     if (i < 11) { // less than logic to build control IDs 
      ctrlString = '_ctl0'; 
     } else { 
      ctrlString = '_ctl'; 
     } 

     percentageCntr[0] = objNetMarginUnitsSoldFullPrice[i]; 
     percentageCntr[1] = objNetMarginUnitsSoldMarkdown[i]; 
     percentageCntr[2] = objNetMarginGoodsUnsold[i]; 

     var total = percentageCntr[0] + percentageCntr[1] + percentageCntr[2]; 

     var result = 0; 

     if(total > 100) { 
      alert("Cannot exceed 100%"); 

      alert(i); // See correct int value 

//    $('#ctl00_PageContent_freight_rate_column_chaair_r28_ctl10_txtPercentage').val(result); Works! 

      $('#ctl00_PageContent_freight_rate_column_chaair_r' + 28 + ctrlString + i + '_txtPercentage').css('backgroundColor', '#EC3434'); 
      $('#ctl00_PageContent_freight_rate_column_chaair_r' + 29 + ctrlString + i + '_txtPercentage').css('backgroundColor', '#EC3434'); 
      $('#ctl00_PageContent_freight_rate_column_chaair_r' + 30 + ctrlString + i + '_txtPercentage').css('backgroundColor', '#EC3434'); 
     } 
    } 
} 

我已經硬編碼的jQuery選擇的作品,但是當我串聯整個jQuery選擇它不起作用。我也知道有一種用jQuery訪問用戶控件的正確方法,但我不確定它是否能在這裏工作。

任何想法?謝謝。

回答

1

您的設置背景色jQuery是正確

的問題可能是如下 -

if (i < 11) { // less than logic to build control IDs 
      ctrlString = '_ctl0'; 
     } else { 
      ctrlString = '_ctl'; 
     } 

原因,如果我= 1的你會得到_ctl01和不這麼認爲,你可以控制與01索引

+0

+1點在標記上。 – 2012-07-23 09:18:17

+0

在我的網格中,單元格0是行名,單元格1包含用戶控件,直到單元格14爲行中的最後一個單元格爲止。這就是爲什麼var i = 1作爲第一次迭代,而不是0. – 2012-07-23 09:27:58

+0

@nickgowdy我指出的是,你是串聯它作爲_ctl01是不是_ctl0或_ctl1 – HatSoft 2012-07-23 09:29:40

相關問題