-1

重複の可能性:
javascript の return ステートメントの後にステートメントを実行する

<select multiple>クリックすると、オプションをある要素から別の要素に移動するオプション転送スクリプトをトリガーする要素があります。次に、変更されたものに対して関数を実行することになっています。唯一の問題は、関数が実行されていないことです。

$('#cityadd').click(function() {
    return !$('#ucityone option:selected').remove().appendTo('#ucitytwo');
    runPagination();
});

runPagination();要素#cityaddがクリックされたときに関数が実行されていません。これが構文エラーなのか、それとも何なのかわかりません。この同じセットアップは、私が用意した他のインスタンスでも実行されます。

4

3 に答える 3

6

最初の行にステートメントがありreturn、その行から戻り、それ以上ステートメントを実行しません。

runPagination()到達不能なコードです。次のように関数を return ステートメントの上に移動します。

$('#cityadd').click(function() {
    runPagination();
    return !$('#ucityone option:selected').remove().appendTo('#ucitytwo');
});
于 2013-01-03T20:37:25.240 に答える
2

これは、returnステートメントの後に実行されているためであり、その後に続くものはすべて事実上無視され、runPagination()到達不能になります。

function PerformX()
{
     return x;
     //Unreachable code here
}

実際にそれを実行するには、呼び出される順序を入れ替えるだけです:

$('#cityadd').click(function() {
    runPagination();
    return !$('#ucityone option:selected').remove().appendTo('#ucitytwo');
});
于 2013-01-03T20:37:32.180 に答える
1

それはあなたがreturn呼び出す前に使用したためですrunPagination()

コードを次のように変更します。

$('#cityadd').click(function() {
    $('#ucityone option:selected').remove().appendTo('#ucitytwo');
    runPagination();
});
于 2013-01-03T20:40:41.080 に答える