如何对我的单击功能进行条件显示和隐藏模态

时间:2019-02-16 08:27:12

标签: javascript jquery

我对显示和隐藏模态有问题,因此,当我单击表数据中的输入数字时,为何仍显示模态,我有一个函数,当我更改输入数字的值时,模态将隐藏。

因此,在下面,我将向您展示我的代码,

首先,我具有append函数来将表中的所有数据附加到

$('#edit_chainingBuild').append("<tr class='clickable-row'><td>" + Qty + "</td><td class='clickable-row-condiments'>" + Condiments + "</td><td>" + Price + "</td><td style='display:none;' data-attribute-chain-id="+menu_builder_details_id +" class='data-attribute-chain-id'>"+menu_builder_details_id+"</td></tr>");

现在,当我单击每个表格行时,将显示模式,

    $('#edit_chainingBuild').on('click','tr.clickable-row',function(e){

      $('table#edit_chainingBuild tr').removeClass('selected');
      $(this).addClass('selected');

      var find_each_id_will_update = $(this).find('.data-attribute-chain-id').attr('data-attribute-chain-id');
      $('.id_to_update_chain').val(find_each_id_will_update);

      $('#EditcondimentsBuilderModal').modal('show');

});

这两个的输出是这个 First Output

现在在我的第二种情况下, 当我更改输入数量数量的值时,我要停止打开ID为此的模式。

$('#EditcondimentsBuilderModal').modal();

我更改数量的代码是这个。

   $(document).on('change', '.changeQuantity', function() {
  // Does some stuff and logs the event to the console

      alert($(this).val());

      $("#EditcondimentsBuilderModal").modal('hide');
});

变化量的输出正常工作,问题是如果要更改数量模态的值,我想显示条件,

I want to stop openning the modal.

1 个答案:

答案 0 :(得分:0)

您的隐藏代码似乎没问题,因此应该隐藏$('#edit_chainingBuild').on('click','tr.clickable-row', ...。但是,您的 class X extends StatefulWidget { XState createState() => XState(); } class XState extends State<X>{ bool isLoading = false; @override void initState() { setState(() { isLoading = true; }); super.initState(); } Widget build(BuildContext context) { return Scaffold( body: Column( children: <Widget>[ isLoading ? Center(child: CircularProgressIndicator()) : WebView(...) ] ) ); } } 处理程序试图在单击时再次显示它。因此,如果例如在更改输入区域之前用鼠标将其聚焦(有效地触发打开和关闭的两个处理程序),那么它很容易导致奇怪而混乱的行为。

请考虑至少暂时更改任一处理程序的逻辑,以确认情况。