0

我有以下问题:

当从下拉列表中选择一个选项时,它应该被添加到搜索框中。这行得通。但是现在我希望在发生这种情况后自动单击“GO”按钮。使用我到目前为止的代码,我正在尝试使用

  $('input[name="go"]').trigger("click");

部分实现这一目标。然而,问题在于,一旦单击下拉框(因此在可以选择选项之前),就会触发最后一个事件。我尝试了很多东西,但我对 jquery 不是很有经验。(顺便说一句:我正在使用预先存在的搜索字段和按钮)

这是 javascript/jquery 代码:

    $(document).ready(function(){

    $('select[name="Articlecategories"]').bind('click', function() {



     $('select[name="Articlecategories"]').change(function () { 
           var str = "";
           $('select[name="Articlecategories"] option:selected').each(function () {
                str += $(this).text() + " ";
                 });
            $('input[name="searchfield"]').val(str);
     })

    .change();

    $('input[name="searchfield"]').change(function () { 
    $('input[name="go"]').trigger("click");
     }) 
    .change();

    });


    });

这是html:

  <select name="Artikelcategorien"  >
    <option selected="selected" disabled>select an option</option>
    <option >Candy</option>
    <option>Taffy</option>
    <option>Caramel</option>
    <option>Fudge</option>
    <option>Cookie</option>
  </select>

<input type="text" name="searchfield" value="" >
    <input type="submit" name="go" value="GO" >
4

4 回答 4

1

.trigger()仅执行附加到某个元素的函数,不执行该元素的默认行为。

如果元素中包含以上所有内容,您可以使用它form

$("form").submit();
于 2013-01-30T12:31:58.040 回答
0

好吧,没关系,我设法解决了它。也许不是最优雅的解决方案,但它有效:

    $(document).ready(function(){

    $('select[name="Articlecategories"]').change(Klikzoeken)


    });

    function Klikzoeken() {

     $('select[name="Articlecategories"]')
           var str = "";
           $('select[name="Articlecategories"] option:selected').each(function () {
                str += $(this).text();
                 });
            $('input[name="searchfield"]').val(str);

    $('input[name="go"]').click();


    }
于 2013-01-30T21:37:16.947 回答
0

您可以通过以下方式提交表格

$("formID").submit();
于 2013-01-30T12:34:08.670 回答
0

您可以只提交表单(假设这当然存在于表单中):

$('form#formId').submit();
于 2013-01-30T12:36:35.957 回答