тигр (щелчок) со значением - PullRequest
0 голосов
/ 23 октября 2011

Привет, мне нужно отправить значение, когда я нажму кнопку.

У меня есть скрипт, который превращает поле выбора в выпадающий список. и он удаляет параметр и заменяет его скрытым вводом.

Сценарий работает так, когда пользователь щелкает элемент div, в раскрывающемся списке которого находятся другие элементы div, и каждый элемент div имеет свой собственный val = "{id}". Мне нужно иметь возможность выполнять функцию нажатия триггера. и подделка, что пользователь нажал один из этих элементов.

Вот код 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 голосов
/ 23 октября 2011

Вы можете легко смоделировать клик:

$('#element').click();
0 голосов
/ 23 октября 2011

Как только вы зарегистрируете функцию 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>
...