Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从代码在Jquery中触发此事件?_Jquery_Jquery Selectors_Javascript - Fatal编程技术网

如何从代码在Jquery中触发此事件?

如何从代码在Jquery中触发此事件?,jquery,jquery-selectors,javascript,Jquery,Jquery Selectors,Javascript,我想在表单的验证过程中给出此代码的条件。。如果ESN列表文本字段输入值在1000到3000之间,我希望下拉列表自动选择下面的STM3,如果数字输入的范围在5000到9000之间,我希望下拉列表中的Trackpack选项在用户之后自动填充,例如在文本输入字段中输入6000,因为它介于5000和9000之间 问:在文本字段中键入数字后,如何根据条件触发下拉菜单,例如数字之间的范围将触发select标记中的一个下拉选项 <html> <head> <title&g

我想在表单的验证过程中给出此代码的条件。。如果ESN列表文本字段输入值在1000到3000之间,我希望下拉列表自动选择下面的STM3,如果数字输入的范围在5000到9000之间,我希望下拉列表中的Trackpack选项在用户之后自动填充,例如在文本输入字段中输入6000,因为它介于5000和9000之间

问:在文本字段中键入数字后,如何根据条件触发下拉菜单,例如数字之间的范围将触发select标记中的一个下拉选项

<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>

您可以使用setInterval函数来实现这一点。我建议你在这里阅读一下:

此外,您可以在JSFIDLE上找到您的解决方案:

然而,下面是代码:

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);

我希望这会有所帮助

如果$this.val.length==0,脚本中仍然会出现打字错误,如果$this.val.length==00@JeromyFrench很抱歉,我复制并粘贴了原始代码..您刚才对结果代码有疑问。这意味着你没有试图独自解决这个问题。@Hogan,没有,我解决了它。。这个问题完全不同。你还没读过。先前的问题解决了。我只是把同一个问题复制粘贴到另一个没有回答的子问题上。。杰默里建议我把它转发给我的另一个问题,下拉菜单的自动填充…@PHP\u lover-这正是我的观点。这是一个不同的问题,您没有研究过。@Amd4632。。非常感谢,文字无法解释我有多感激,但问题是,当我将这个脚本与HTML代码一起添加到HTML文件中,并尝试运行代码时,什么都没有发生?但是它在JSFIDLE上工作。。我会通知你的。再次感谢:一切正常Amd4632。。然后,一旦下拉菜单自动填充。。我如何才能真正使其工作,以便用户可以覆盖已自动填充的选项,同时仍保留自动填充功能????