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 に答える