1

私は問題を抱えています.25以上を表示するように数量テキストボックスを設定するためにいくつかのjqueryに取り組んでいます。パーソナライゼーションの文言に空の文字列があるかどうかを確認し、そうでない場合は、明らかにキット製品として 25 個の数量を適用し、パーソナライズします。

キット製品の重要な部分は次のとおりです。

if (parseInt($("#kitProduct #Quantity").val()) < 25) {
    $("#kitProduct #Quantity").attr("value", "25");

Kit Productというページにdiv.idがラップされているため、キット製品であることがわかります。

私の問題は、特定の製品のこのキット製品コードをオーバーライドする必要があることです。これを迅速な修正として行う最善の方法は、divの内容を確認することだと思いました。

<div class="ProductNameText">Exclusive Handmade Box</div>

Exclusive Handmade Box が見つかった場合、ユーザーがテキスト ボックスに 1 以上の数量を入力できるようにします。

次のコードを試しました:

quantity = $('div.ProductNameText').text().match(/Exclusive Handmade Box/g).length;
       if(quantity)
         {
          $("#kitProduct #Quantity").attr("value", quantity);
          $("#kitProduct #Quantity").keypress(function(){

          var quantity = parseInt($.trim($(this).val()));
          if( quantity < 1) {
             $(this).val('1');
          } else {
             $(this).val(quantity);
         }

しかし、これは 1 を強制するだけです。私は今、本当に迷っています。できる限り説明しました。以下は、jsfiddle 内のページの縮小例です。

あなたが助けてくれることを本当に願っていますか?

詳細情報:

ほとんどのキット製品は、管理セクションでキット製品に適用される xml パッケージで定義されます。ただし、まだ製品ですが、数量に25を入れる必要がない製品がいくつかあります。

現時点では、jquery はテキスト エリア ボックスをチェックします。これは、ユーザーがそれにパーソナライゼーションを追加した場合、キット製品が必要であることを意味するため、最小数量は 25 です。

しかし、私は1つ以上にしたいdivの内容に基づいてチェックしたい製品を持っています...

そのため、現在のコードが 24 未満で入力した oppps と言わなくても、ボックスに 1 ~ 25 を入力できるはずなので、最小キット製品数量に戻します..

jsfiddle を試してみると、たとえば 3 の値を入力できないことがわかりますか? それが問題です。

http://jsfiddle.net/FB5MQ/3/

4

1 に答える 1

0

「キット製品の重要な部分」コードに変数の最小値が必要です。

var minValue = 25;
if ($('div.ProductNameText').text().match(/Exclusive Handmade Box/)) {
    minValue = 1;
}

if (parseInt($("#kitProduct #Quantity").val(), 10) < minValue) {
    $("#kitProduct #Quantity").prop("value", minValue);
    // rest of code...
于 2011-11-24T10:02:39.460 に答える