触发(单击)值

时间:2011-10-23 03:42:56

标签: jquery click

嗨我需要在点击一下时发送一个值。

我所拥有的是一个将选择框变为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());
        });

2 个答案:

答案 0 :(得分:0)

一旦注册了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>

答案 1 :(得分:0)

您可以非常轻松地模拟点击:

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