2011-10-23 44 views
0

嗨我需要发送一个值,当我触发点击。tigger(click)with value

我所拥有的是一个将选择框变成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

一旦你注册了一个jQuery点击函数,你可以在任何时候以多种方式调用它。 $('selector').click();将激活所有jQuery注册的事件,以及该对象的常规window.click事件。 $('selector').triggerHandler('click');只会触发jQuery注册的点击处理程序。

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

--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> 
+0

是的,但我怎么送VAL它 – RussellHarrower

+0

对不起,我想知道如何发送带有触发器的值 – RussellHarrower

+1

我要喝酒了,让我知道你是否希望点击事件的输入,我可以明天发布。它会采取'绑定'的想法,并把它放到你正在做的这个html的东西。哪个,你在做什么html.stuff? – DefyGravity

0

您可以模拟点击很容易:

$('#element').click(); 
相关问题