2017-09-22 3 views
-1

テーブルに商品を動的に追加するJavaScriptコードがいくつかあります。テーブル行の値を確認するためのJavascriptまたはjquery

しかし、同じ製品の複数のエントリを防ぐために製品が含まれている行がすでに存在するかどうかを確認する必要がありますか?

Iはまた、2

Xは、行番号、0ベースである他Articles_X__ArticleIdがあるかどうかを確認するために、ID =「Articles_0__ArticleId」値=「2」をチェックしなければなりません。しかし、誰かが3つの製品を追加すると、0,1,2行になります。行1を削除すると、最終的に0,2となります。それはそれを説明しなければなりません。

行は次のようになります。

<tr id="Articles[0]"> 
<td class="col-md-1"> 
    <input id="Articles_0__CollectionName" name="Articles[0].CollectionName" value="Articles" type="hidden"> 
    <input data-val="true" data-val-number="The field Artikelid must be a number." data-val-required="The Artikelid field is required." id="Articles_0__ArticleId" value="2" name="Articles[0].ArticleId" type="hidden"> 
    <input data-val="true" data-val-length="The field Bild must be a string with a maximum length of 50." data-val-length-max="50" id="Articles_0__ImagePath" name="Articles[0].ImagePath" value="/images/projector.jpg" type="hidden"> 
    <input data-val="true" data-val-required="The Namn field is required." id="Articles_0__Name" name="Articles[0].Name" value="Projektor" type="hidden"> 
    <input data-val="true" data-val-number="The field Pris must be a number." data-val-required="The Pris field is required." id="Articles_0__Price" name="Articles[0].Price" value="60,00" type="hidden"> 
    <input data-val="true" data-val-number="The field Order Base Id must be a number." data-val-required="The Order Base Id field is required." id="Articles_0__OrderBaseId" name="Articles[0].OrderBaseId" value="2" type="hidden"> 
    <input data-val="true" data-val-number="The field Totalpris must be a number." id="Articles_0__Total" name="Articles[0].Total" value="" type="hidden"> 
    <input data-val="true" data-val-number="The field Existing Quantity must be a number." id="Articles_0__ExistingQuantity" name="Articles[0].ExistingQuantity" value="" type="hidden"> 
    <input data-val="true" data-val-required="The Passed Production Time field is required." id="Articles_0__PassedProductionTime" name="Articles[0].PassedProductionTime" value="False" type="hidden"> 

    <input name="Articles.Index" value="0" type="hidden"> 

    <div class="image-thumbnail-normal"> 
     <img src="/images/projector.jpg" alt="article image"> 
    </div> 
</td> 
<td class="col-md-3">Projektor </td> 

<td class="col-md-1"> 
    60,00 kr/Styck 
</td> 
<td class="col-md-1"> 
    0,00 kr/Styck 
</td> 
<td class="col-md-1"> 
    <div class="form-group"><div class="col-sm-12 col-lg-13"> 
</td> 
</tr> 
+0

を役に立てば幸いあなたの質問がjavascriptに関係する場合は、(ちょうど)HTMLではなくJSコードを含める必要があります。 –

+0

質問を読んだら、このシナリオでどのように始めるべきか分からないので、コードがないことを知っているはずです。 –

+0

その場合、質問はStackOverflowに適合しません。 –

答えて

0

私がチェックするための入力を想定していますが、このような何か...常にそのtdの第二のですか?

function alreadyExists(myId,myValue) { 

    $('tr').each(function() { 

     var $myInput = $(this).children('td').first().children('input').eq(1); 

     if (($myInput.attr('id') == myId) && ($myInput.val() == myValue)) 
      return 1; // This id and value already exist 
    }); 

    return 0; 
} 

あなたは、私がその入力にクラスを置くだろうことができますので、あなたが独立してその位置のそれを選択することができたら...

var $myInput = $(this).find('input.checkinginput'); 

私はそれが

+0

私のために必要なものだけを用意してくれてありがとう。正しい方向への少しのプッシュ。 –

+0

@A。 lglesiasあなたはあまりにも多くのネストされたクエリを実行して不要な要素を見つけます。 – krishnar

+0

@krishnarはい、私は知っています...しかし、私は特定の値に依存したくないからです。私はポジションによっても好きではないので、私は彼にクラスを設定するよう提案しています。とにかくアドバイスありがとう! ;) –

0
function already_exists?(new_val) { 
    $('tr').each(function() { 
     var $element = $(this).find("input[id$='ArticleId']"); 
     if ($element.val() == new_val)){ 
      return true; 
     } 
    }); 
    return false; 
} 
+0

あなたもありがとう!短い、シンプルな初心者のスニペットは、私が必要としたものでした。これとIglesiasによって提供されたコードを使用します。私はそれを確実に動作させます。ありがとう。 –

+0

@RobertBenedettoそのusefuleをアップアップしてください。 – krishnar

+0

@RobertBenedetto私はちょうどすでにarticle_idが存在するかどうかを見つけたいと思っていますか?私は解決策を更新してください。と便利な場合はupvote – krishnar

関連する問題