2011-10-23 45 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(); 
相關問題