0

私はこれを理解できないようです。ここでこれまでに行ったことの例を見ることができます: http://jsfiddle.net/aCUQC/1/

ユーザーが検索を行うと、「x」が表示されます。「x」をクリックしてフォームを送信します。

フォームを「送信」できます。しかし、入力テキスト値を読み取ることができません!

HTML は次のとおりです。

<link rel="stylesheet" href="//code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css">
<script src="//code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
<br />
<br />
<div data-role="collapsible" data-collapsed="false" data-mini="true" data-collapsed-icon="arrow-r" data-expanded-icon="arrow-d" data-theme="x">
    <form method="GET" action="search.do" data-ajax="false" style="height: 40px;" id="smartSearch">
        <input data-inline="true" type="text" data-type="search" data-corners="false" name="q" placeholder="Type Name Here (e.g. John Smith)" data-mini="true" autocomplete="off" />
    </form>
</div>


JS:

$('#smartSearch').on('click', '.ui-input-clear', function (e) {
    e.preventDefault(); // prevent the link's default behaviour
    $('form#smartSearch').submit(); 
});



あなたの助けに感謝します! ありがとう!

4

1 に答える 1

0

1) 間違ったアイコンをターゲットにしています - ターゲットとする正しいアイコンは.ui-icon-delete- 間違った要素の動作を妨げていました。

2) 値を取得するには、実際に何かを行う必要があります。ここで jQuery の.val()が役に立ちます。

正しいアイコンを対象とする更新されたコードを次に示します。デフォルトを防止する代わりに、return false を使用しました。

$("#smartSearch .ui-icon-delete").click(function() {
    var text = $("input").val();
    alert(text);
    $('form#smartSearch').submit(); 
    return false;
});

デモ: http://jsfiddle.net/aCUQC/3/

return false と prevent default の違いに興味がある場合は、こちらをお読みください。

于 2013-08-08T16:40:18.837 に答える