-1

ページの下部に非表示にした div にアクセスしたいと思います。$existing_user は配列であり、div は非表示になっています。

<div id="existing_user"><?php echo json_encode($existing_user); ?></div>

次に、div をユーザー生成の入力と比較しようとしています。

<input type='text' name='user_name' id='user_name' />

ここに私のjQueryコードがあります:

var existing_user_string = $('#existing_user').text();
var existing_user_array = explode(",",existing_user_string);

if (jQuery.inArray($('#fruit').val(),existing_user_array) == -1) {
    alert('no way this worked');
    }

助けてください。

4

1 に答える 1

3

JavaScript には機能がありませんexplode。ユーザーの配列を取得するには、JSON.parse*を使用します。

var existing_user_array = JSON.parse( $('#existing_user').text() );

if (jQuery.inArray($('#fruit').val(),existing_user_array) == -1) {
    alert('no way this worked');
}

PS d 配列を直接スクリプトに入れてechoいない理由はありますか?json_encode

<script>var existing_user_array = <?php echo json_encode($existing_user); ?></script>

そうすれば、DOM で釣りに行く必要はなく、JSON を解析する必要さえありません (他のスクリプトがページに含まれる前に、このスクリプトが生成されていることを確認してくださいexisting_user_array。使用する前に入力されます)。

JSON.parseIE7以下ではご利用いただけません。このルートをたどる必要があり、それらの古いブラウザーをサポートする必要がある場合は、必ずCrockford の json2 ライブラリーを含めてください。

于 2013-01-13T08:14:10.553 に答える