首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jquery触发输入输入值各自的li

使用jquery触发输入输入值各自的li
EN

Stack Overflow用户
提问于 2021-03-25 13:47:24
回答 1查看 52关注 0票数 1

使用jquery,我想触发点击事件到各个输入值的li

下面是我的输入和li。每当我自动添加输入时,它就会添加到li列表中。所以现在我想要触发input enter的相应li元素

代码语言:javascript
复制
<input required="" placeholder="Type Collection Name" type="text" class="cbxwpbkmark-field cbxwpbkmark-field-text cbxwpbkmark-field-cat cbxwpbkmark-field-cat-add">
<span data-object_id="2089" class="cbxwpbkmark-field-create-submit" title="Create Collection"></span>



<ul class="cbxlbjs-list cbxwpbkmarklist" style="" data-type="product" data-object_id="2089">
<li class="cbxlbjs-item" data-catname="452" data-privacy="0" data-incat="0" data-value="96"><span title="452" class="cbxlbjs-item-name">452</span></li>
<li class="cbxlbjs-item" data-catname="450" data-privacy="0" data-incat="0" data-value="97"><span title="450" class="cbxlbjs-item-name">450</span></li>
<li class="cbxlbjs-item" data-catname="448" data-privacy="0" data-incat="0" data-value="101"><span title="448" class="cbxlbjs-item-name">448</span></li>
</ul>

目前我正在使用下面的jquery代码。

代码语言:javascript
复制
jQuery('.cbxwpbkmark-field-create-submit').click(function() {
    var catname = jQuery(".cbxwpbkmark-field-cat-add").val();

    setTimeout(function(){ 
                            var successmesg = $('.cbxwpbkmark-form-note-success').html();
                            if(successmesg == 'Category created/edited successfully!')
                            {
                             //$('.cbxwpbkmark-toolbar-editcat').trigger("click");
                              
                              jQuery(document).find('[data-catname="'+ catname +'"]').click();
                              //$('.cbxwpbkmark-toolbar-listcat').trigger("click");
                           
                             }
                        }, 1000);
           });

但是上面的例子不起作用。各自的li没有触发automatically.anone知道到底是什么问题,然后让我知道。

EN

回答 1

Stack Overflow用户

发布于 2021-03-25 14:32:31

我假设您想要的是触发动态添加的<li>元素的单击事件。在这种情况下,您需要确保<li>click事件附加到父元素或其他元素。

下面是一个例子:

代码语言:javascript
复制
jQuery(function($){
  $('ul.cbxwpbkmarklist').on('click', '.cbxlbjs-item', function(){

    //.. write the things to do when an <li> is clicked

  });
});

在这里,我将click事件附加到父<ul>上。因此,当您动态添加新的<li>元素(类为.cbxlbjs-item)时,<li>的click事件仍然有效。

除此之外,我还想指出@Swati在评论中的建议。

代码语言:javascript
复制
var successmesg = $('.cbxwpbkmark-form-note-success').html();

应该是:

代码语言:javascript
复制
var successmesg = $('.cbxwpbkmark-form-note-success').text();

这才是正确的方式。但是,如果.cbxwpbkmark-form-note-success元素中没有html标记,则调用html()仍然会返回文本。但更安全的方法是使用text()方法,因为它将只返回文本,即使其中有任何html标记。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66793762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档