【问题标题】:jquery event method to get inputjquery事件方法获取输入
【发布时间】:2021-09-21 02:06:43
【问题描述】:

我使用 jquery 根据下拉值获取“id”作为输入值。现在的问题是,我想使用“id”将值插入到其他一些输入中。我不知道要使用哪种事件方法。为了测试,我使用 keyup 方法检查代码是否有效,当我手动输入数字时,它有效。所以问题出在我选择的事件方法上。请给我一些建议。

    //Get id
     $(document).ready(function() {
        $('#salary_eid').change(function() {
            var sid = $(this).val();
            var data_String = 'sid=' + sid;
            $.get('search1.php', data_String, function(result) {

                $.each(result, function(){
                  $('#can').val(this.c_id);
          
                    
                });
            });       
          });

      //display other information
      $('#can').change(function() {
            var id = $(this).val();
            var data_String1 = 'id=' + id;
            $.get('search.php', data_String1, function(result1) {

                $.each(result1, function(){
                  $('#morning_rate').val(this.cMorning);
                    $('#night_rate').val(this.cNight);
                    $('#ot_rate').val(this.clientOt);
                    
                });
            });
        });
    });

 <label>Name</label>
 <input type="text" name="salary_eid" />
 <select id="salary_eid">
  <option>opt1</option>
  <option>opt2</option>
 </select>
    
 <input type="hidden" name="can" id="can" class="form-control" >

【问题讨论】:

  • 我不太确定您要达到的目标,但听起来“更改”事件可能会满足您的需求?
  • 更改事件不能正常工作@User1010
  • 您能否说明您的问题?
  • 我能够在#can 输入上显示 id,但从那里我不能使用从第一个 jquery 代码获得的 ID 来执行第二个代码。
  • 在下拉列表中,将选择一个名称,然后它应该从另一个表中获取 Id 并将其显示在隐藏的#can 输入上,然后使用#can,我应该能够显示其他信息。所以这一切都应该在我选择名字时发生

标签: php jquery mysql events event-handling


【解决方案1】:

您可以从 id 代码触发 keyup() 事件,这将通过手动或 jQuery 编辑来工作,

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

<script>  
    //Get id
    $(document).ready(function() {
        $('#salary_eid').change(function() {
            var sid = $(this).val();
            $('#can').val(sid).keyup();
        });       
    });
    
    //display other information
    $(document).on('keyup', '#can', function() {
        console.log($(this).val())
    });
</script>

<label>Name</label>
<input type="text" name="salary_eid" />
<select id="salary_eid">
    <option>opt1</option>
    <option>opt2</option>
</select>

<input type="text" name="can" id="can" class="form-control" />

如果您要隐藏第二个输入,那么我可能会建议使用不带输入的函数,

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

<script>  
    //Get id
    $(document).ready(function() {
        $('#salary_eid').change(function() {
            var sid = $(this).val();
            display_info(sid)
        });       
    });
    
    //display other information
    function display_info(value) {
        console.log(value)
    };
</script>

<label>Name</label>
<input type="text" name="salary_eid" />
<select id="salary_eid">
    <option>opt1</option>
    <option>opt2</option>
</select>

【讨论】:

  • 但是如果不手动输入#can 输入的值,我该怎么做呢?输入将被隐藏。所以当我选择一个名字时,它应该会自动获取id到#can输入,然后使用id来显示信息。
  • 如果要隐藏该字段,那么为什么要使用不同的字段?为什么不从 id 函数中触发函数呢?
猜你喜欢
  • 2013-06-27
  • 2011-03-27
  • 1970-01-01
  • 1970-01-01
  • 2016-09-16
  • 1970-01-01
  • 2018-02-23
  • 2015-04-28
  • 2014-12-28
相关资源
最近更新 更多