2016-11-19 15 views
-2

私はプログラミングに慣れていないので、最初からJavascript関数を作成しました。しかし、それはcorrectly.Itを実行していないことは多少の誤差がありますが、あなたは、実際には、最初は偽である場合に、第2の条件をテストしたい場合は、私は、私を助けてjavascript関数if、else条件

<script type = "text/javascript"> 
     function GetSelectedRow(lnk) { 
      var row = lnk.parentNode.parentNode; 
      if (row.cells[0].innerHTML == "checkbox") 
      { 
       var ItemCode = row.cells[1].innerHTML; 
       var ItemName = row.cells[2].innerHTML; 
       var Unit = row.cells[3].innerHTML; 
       var Price = row.cells[4].innerHTML; 
       var StockQty = row.cells[5].innerHTML; 
       document.getElementById('<%=TxtICode.ClientID %>').value = ItemCode; 
       document.getElementById('<%=TxtIName.ClientID %>').value = ItemName; 
       document.getElementById('<%=DropDownUnit.ClientID %>').value = Unit; 
       document.getElementById('<%=TxtPrice.ClientID %>').value = Price; 
       document.getElementById('<%=TxtStockQty.ClientID %>').value = StockQty; 
       return false; 

      } 
      else (row.cells[0].innerHTML != checkbox) 
      { 
       var ItemCode = row.cells[0].innerHTML; 
       var ItemName = row.cells[1].innerHTML; 
       var Unit = row.cells[2].innerHTML; 
       var Price = row.cells[3].innerHTML; 
       var StockQty = row.cells[4].innerHTML; 
       document.getElementById('<%=TxtICode.ClientID %>').value = ItemCode; 
       document.getElementById('<%=TxtIName.ClientID %>').value = ItemName; 
       document.getElementById('<%=DropDownUnit.ClientID %>').value = Unit; 
       document.getElementById('<%=TxtPrice.ClientID %>').value = Price; 
       document.getElementById('<%=TxtStockQty.ClientID %>').value = StockQty; 
       return false; 
      } 

     } 
    </script> 
+3

ようこそスタックオーバーフロー! [ヘルプ]、特に[*どうすればよい質問をしますか?*](/ help/how-to-ask) –

+0

'else' doesn '上の条件で前の値が 'false'だった場合、' else {...} 'の中のコードを実行します。 'else if(..){...} 'は条件を受け入れますが、あなたがしようとしているものに基づいて、それを使いたくないでしょう。 –

+0

'else(row.cells [0] .innerHTML!= checkbox)'は 'else if ... 'でなければなりません。 –

答えて

-1

をerrors.pleaseをクリアすることはできません

else if(row.cells[0].innerHTML != checkbox)

が、あなたのelse条件はあなたと同じです。そして、

else (row.cells[0].innerHTML != checkbox)

はする必要がありますr if条件(elseの中でcheckboxを引用符で忘れた場合を除いて)row.cells[0].innerHTML == "checkbox"の場合、コードは決してelseブランチに当たることはありません。 ほとんどの場合、elseの条件は一切不要です。あなたの関数は、これら2つの経路の1(真/偽)をダウンヘッドと、彼らの両方が返された場合

また、falseどちらかあなたがあなたの機能は後に終了するので、不必要なことと思われる、機能を終了することを利用しているようですとにかくifステートメント、またはfalseを常に戻り値にすることは意味がありません。

最後に、実際のブランチのコードの約半分が、誤ったブランチのコードと同じです。そのコードは何があっても実行する必要があるので、両方のブランチの外側で一度だけ書くと、ifブランチはそれぞれの状況で何が違うのか分かりません(DRY:「自分をやめないでください」はどのプログラミングでもベストプラクティスです言語)

function GetSelectedRow(lnk) { 

    var ItemCode, ItemName, Unit,Price, StockQty; 
    var row = lnk.parentNode.parentNode; 

    if (row.cells[0].innerHTML == "checkbox") { 
     ItemCode = row.cells[1].innerHTML; 
     ItemName = row.cells[2].innerHTML; 
     Unit = row.cells[3].innerHTML; 
     Price = row.cells[4].innerHTML; 
     StockQty = row.cells[5].innerHTML; 

    } else { 
     ItemCode = row.cells[0].innerHTML; 
     ItemName = row.cells[1].innerHTML; 
     Unit = row.cells[2].innerHTML; 
     Price = row.cells[3].innerHTML; 
     StockQty = row.cells[4].innerHTML; 
    } 

    document.getElementById('<%=TxtICode.ClientID %>').value = ItemCode; 
    document.getElementById('<%=TxtIName.ClientID %>').value = ItemName; 
    document.getElementById('<%=DropDownUnit.ClientID %>').value = Unit; 
    document.getElementById('<%=TxtPrice.ClientID %>').value = Price; 
    document.getElementById('<%=TxtStockQty.ClientID %>').value = StockQty; 

} 
+0

これはおそらく' else'であるべきです、 'checkbox'は定義されていません。 OPはそれを文字列にするのを忘れてしまったようだ。 –

+0

申し訳ありませんが、私はいくつかの間違いをしました。間違いなく私は他の人の代わりに他の型を入力しました – Ram

+0

2つのGridViewからSELECTボタンをクリックすると、同じJavascript関数を使いたいと思います。最初のGridViewは[0]列のCheckBoxフィールドを持ち、2番目のGridViewはありません。 – Ram