触发(点击)值

发布于 2024-12-11 13:09:11 字数 536 浏览 0 评论 0原文

您好,我需要在点击时发送一个值。

我有一个脚本,可以将选择框变成 div 下拉列表。它删除了该选项并将其替换为隐藏的输入。

脚本的工作方式是,当用户单击 div 时,它会下拉一个包含其他 div 的框,并且每个 div 作为自己的 val="{id}" 我需要能够执行触发单击功能并伪造该功能用户单击了这些 div 之一。

这是点击使用的 jQuery 代码。

list.children(".option").click(function() {
            html.children("input[name='" + sName + "']").val($(this).attr("val"));
            fetch(104,"task=updateuserstatus&userid="+userid+"&status="+$(this).attr("val"));
            html.children(".label").html($(this).html());
        });

Hi I need to send a value when i tigger a click.

What I have is a script that turns select box into a div drop down. and it removes the option and replaces it with a hidden input.

The way the script works is when a user clicks the div it drop down a box with other divs in it, and each div as its own val="{id}" i need to be able to do a trigger click function and fake that a user has clicked one of these divs.

Here is the jQuery code that the click uses.

list.children(".option").click(function() {
            html.children("input[name='" + sName + "']").val($(this).attr("val"));
            fetch(104,"task=updateuserstatus&userid="+userid+"&status="+$(this).attr("val"));
            html.children(".label").html($(this).html());
        });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甜警司 2024-12-18 13:09:11

您可以很容易地模拟点击:

$('#element').click();

You can simulate a click quite easily:

$('#element').click();
靑春怀旧 2024-12-18 13:09:11

一旦您注册了 jQuery 单击函数,您就可以随时通过多种方式调用它。 $('selector').click(); 将激活所有 jQUery 注册事件以及对象的常规 window.click 事件。 $('selector').triggerHandler('click'); 将仅触发 jQuery 注册的点击处理程序。

这就是你想要的吗?或者您想在新插入的输入中触发点击吗?

- 编辑 -

<script type='text\javascript'>
$(document).ready(
  var list = $('something');
  $('.option', list).each(function(index, htmlElem){
     //bind to the click event
     // $(this).attr('val') becomes event.data
    // third param is your actual function as before
    $(this).bind('click', {"whatever": $(this).attr('val')}, function(event){
//tadaah!
  alert('hello :' + event.data.whatever);
//if you wanted to actually register a click event down here for the input, let me know
     html.children("input[name='" + sName + "']").val($(this).attr("val"));
     fetch(104,"task=updateuserstatus&userid="+userid+"&status="+$(this).attr("val"));
     html.children(".label").html($(this).html());
    });
  });
);
</script>

once you register a jQuery click function you can call it anytime, in a number ways. $('selector').click(); will activate all jQUery registered events, and the regular window.click event for the object. $('selector').triggerHandler('click'); will fire just the jQuery registered click handlers.

Is that what you wanted? or did you want to trigger a click in the newly inserted inputs?

--edit --

<script type='text\javascript'>
$(document).ready(
  var list = $('something');
  $('.option', list).each(function(index, htmlElem){
     //bind to the click event
     // $(this).attr('val') becomes event.data
    // third param is your actual function as before
    $(this).bind('click', {"whatever": $(this).attr('val')}, function(event){
//tadaah!
  alert('hello :' + event.data.whatever);
//if you wanted to actually register a click event down here for the input, let me know
     html.children("input[name='" + sName + "']").val($(this).attr("val"));
     fetch(104,"task=updateuserstatus&userid="+userid+"&status="+$(this).attr("val"));
     html.children(".label").html($(this).html());
    });
  });
);
</script>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文