-1

フォームの検証プロセス中にこのコード条件を指定したい..ESNリストのテキストフィールドの入力値が1000〜3000の範囲にある場合、ドロップダウンで下のSTM3を自動的に選択します。入力された数字の範囲は5000から9000の間ですが、ドロップダウンからのトラックパックオプションを使用して、ユーザーの後に自動的に入力するようにします。たとえば、テキスト入力フィールドに6000を入力すると、5000から9000の間になるためです。

Q:選択タグからドロップダウンオプションの1つをトリガーする番号間の範囲など、条件に基づいてテキストフィールドに番号を入力した後、ドロップメニューをトリガーするにはどうすればよいですか?

<html>
    <head> <title> Form </title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
    <script type="text/javascript">
    $(':submit').click(function(e) {
     $(':text').each(function() {
      if($(this).val().length == 0) {
        $(this).css('border', '2px solid red');
        }
    });
    e.preventDefault();
    });

    </script>
    </head>
    <body >
    <form id="provision">
    ESNList:    <input  type="text" id="ESNList" name="ESNList" size="30" /> <br />
    ESN Start:<input type="text" id="ESNStart" name="ESNStart" size="10" /> <br />
    ESN End: <input type="text" id="ESNStart" name="ESNStart" size="10" /> <br />
    UnitName:<input type="text" id="STxName" name="STxName" size="30"  />  <br />  
     Unit Model:   <select name="STxName">
    <option value="stx2">STX2</option>
    <option value="protopak">Protopak</option>
    <option value="stm3" selected>STM3</option>
    <option value="acutec">Acutec</option>
    <option value="mmt">MMT</option>
    <option value="smartone">Trackpack</option>
    <option value="smartoneb" >SmartOneB</option>
    <option value="audi">Acutec</option>
    </select> <br />
    RTU Model Type:
     <select name="rtumodel">
    <option value="globalstar">GlobalStar</option>
    <option value="both">Both</option>
    <option value="comtech">Comtech</option>
    <option value="stmcomtech">STMComtech</option>
    </select> <br />
    <input type="submit" value ="submit"  />
    </form>
    </body>
    </html>
4

1 に答える 1

0

これは、setInterval関数を使用して実行できます。ここでそれを読んでおくことをお勧めします:http ://www.w3schools.com/jsref/met_win_setinterval.asp

さらに、ここjsfiddleで解決策を見つけることができます:http://jsfiddle.net/PCB5d/

その後、しかしここにコードがあります:

function checkValues()
{
  ESNList = jQuery("#ESNList").val();
    jQuery("#ddl_StxName").val("stx2");  
  if((ESNList >= 1000) && (ESNList <= 3000))
  {
    jQuery("#ddl_StxName").val("stm3");
  }
  if ((ESNList >= 5000) && (ESNList <= 9000))
  {
    jQuery("#ddl_StxName").val("smartone");
  }
  // you should be able to follow the above and add your own conditions  
}

function checkInput()
{
  jQuery(":text").each(function (){
    if (jQuery(this).val().length == 0)
    {
      jQuery(this).css("border", "2px solid red");
    }
    else
    {
      jQuery(this).css("border", "0");
    }
  });
}
setInterval(function () {checkInput();checkValues();}, 500);

これがお役に立てば幸いです

于 2013-01-15T20:26:58.763 に答える