0

PHPスクリプトを追加する必要がある多くのオプションを含む長い選択タグがあります。すべてのオプション タグを処理するのに役立つ JQuery スクリプトを作成しようとしていますが、方法がわかりません。これを変更するにはjQueryが必要です:

<option value="a">A</option>
<option value="b">B</option>
....
<option value="z">Z</option>

に:

<option value="a" <?= isset($array["a"]) ? "selected" : "" ?>>A</option>
<option value="b" <?= isset($array["b"]) ? "selected" : "" ?>>B</option>
....
<option value="z" <?= isset($array["z"]) ? "selected" : "" ?>>Z</option>

あまり努力せずにこれを達成するにはどうすればよいですか?(リストは実際には約 200 項目の長さです)

リストを反復処理できますが、属性などを追加できないようです。

$(document).ready(function() {
    $("#select option").each(function()
    {
        var attr = " <?=  isset($array['."+$(this).attr("value")+"']) ? 'selected' : '' ?>";
        ///how to add this to the tag??
    });
});
4

3 に答える 3

1

jQuery でその変更を行っても、魔法のように PHP タグ内のものは実行されません。このロジックサーバー側を処理する必要があります。

.php問題のファイルに繰り返し変更を加える PHP スクリプトを作成することをお勧めします。それか、正規表現をサポートするエディタを使用してください。

たとえば、メモ帳 ++ では、次のすべての出現箇所を (正規表現で) 置き換えることができます。

(<option value=")([^"]+)(">.+?</option>)

と:

\1\2<?= isset($array["\2"]) ? "selected" : "" ?>\3
于 2012-11-29T10:50:31.953 に答える
0

phpファイルを生成したいだけなので、ide/editorでstring/regexreplaceを使用することをお勧めします

から行く

<option value="a">A</option>

<option value="a" <?= isset($array["a"]) ? "selected" : "" ?>>A</option>

vimでは(ただし、他のエディターもこれをサポートする必要があります)、

:%s/value=\(".*"\)/value=\1 <?= isset($array[\1]) ? "selected" : "" ?>/g

あなたが検索する部分はどこにありますか

value=\(".*"\)

これはあなたが交換する部品です

value=\1 <?= isset($array[\1]) ? "selected" : "" ?>

を使用して

\([someregex]\)

いくつかの変数を「保存」することができ、\1を使用してそれを置換パート1に出力することができます

于 2012-11-29T11:09:03.203 に答える
0

懸念事項を分離する必要があり、PHP を js で台無しにするべきではありませんが、簡潔にしてください。

$('#select').val('<?php echo $valueYouNeed; ?>');
于 2012-11-29T10:49:46.207 に答える