Jquery触发器点击然后填写输入

时间:2016-07-22 20:55:34

标签: javascript jquery html

我有一个表格行,点击时应触发打开div的页面上的点击事件。一旦这个div打开,我需要#poId填充给定的id。

    $('tr').click(function(){
            var id = $(this).attr('id');
            $('#purchase\\.exist').trigger('click');
            //What goes here?               
    });

点击产生的页面是:

  <input type='text' id='poId' name='poId'>

基本上我需要知道我可以用什么来自动点击填充poId。在外行的条件

$('tr').click(function(){
        var id = $(this).attr('id');
        //Open page as a result of trigger
        //paste the variable id in the poId input              
});

添加小提琴:

这个小提琴完全被剥夺了,但想法是用户点击单词问题。表格显示为两行。当用户点击表格行时,会打开购买div,并且输入需要填充所单击的id。

Fiddle

我知道还有其他方法可以在没有触发器的情况下执行此操作,但在打开div之前打开div实际上需要一堆其他东西(ajax函数等),所以只需打开购买div就不会工作

2 个答案:

答案 0 :(得分:0)

使用所点击的tr的ID来填充poId(我认为这是你要问的):

 $('tr').click(function(){
        $("#poId").val(this.id);
        $('#purchase').trigger('click');
});

(我假设&#34; #purchase \ .exist&#34;是某种错字?)

答案 1 :(得分:0)

&#13;
&#13;
$(function() {
  $('.hide').hide();

  $('tr').click(function() {
    var id = $(this).attr('id');
    $('#poId').val(id);
    // the second argument is an array of parameters that will be passed to the function
    $('#purchase').trigger('click', [id]);
  });

  // the first argument of function `click` receives is the event, the next are the arguments passed from the trigger
  $('li').click(function(e, id) {
    var liID = $(this).attr('id');
    var div = $('#div_' + liID)
    div.show();
    div.find('input').val(id)

  });
});
&#13;
li:hover {
  cursor: pointer;
}
tr:hover {
  cursor: pointer;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li id='purchase'>Purchase</li>
  <li id='question'>Question</li>
</ul>

<div id='div_purchase' class='hide'>
  <input type='text' id='poID' name='poID'>
</div>
<div id='div_question' class='hide'>
  <table id='myTable'>
    <tr id='12345'>
      <th>12345</th>
    </tr>
    <tr id='45678'>
      <th>45678</th>
    </tr>
  </table>
</div>
&#13;
&#13;
&#13;