2
var abc = new Array('Perth','Auckland');

case '1':
    document.getElementById(q15).options.length = 0;
    for (i = 0; i < abc.length; i++) {
        createOption(document.getElementById(q15), abc[i], abc.[i]);
    }
break;

var opt = document.createElement('option');
    opt.value = value;
    opt.text = text;
ddl.options.add(opt);

上記のコードは以下を出力します。

<option value="1">Perth</option>
<option value="2">Auckland</option>

ただし、ページの読み込み時にオプションが選択されているかどうかを計算するために PHP を追加する必要があるため、出力は次のようになります。

<option value="1" <?php if ($results['abc']==1) echo "selected";?>>Perth</option>
<option value="2" <?php if ($results['abc']==2) echo "selected";?>>Auckland</option>

Selectedただし、これをオプションに追加してドロップダウンリストに追加するという Javascriptのオプションに苦労しています。

どんな助けでも感謝します。

ありがとう、

H.

4

2 に答える 2

1

2つのこと、

初め、

selected次のようにして、JavaScriptを使用して属性を設定できますdomelement.setAttribute("selected","selected");

それがあなたの元の質問の内容だと思います。

2番、

PHP は、ブラウザーがコードを取得する前にサーバーで実行されるため、javascript を使用して PHP コードを追加することはできません。

PHPを使用して$results変数をjavascript変数に保存し、それを使用して設定しselectedます。

var results = ["<?php echo implode ('","', $results); ?>"]   /*Get the results array from PHP to javascript.*/


var abc = new Array('Perth','Auckland');

case '1':
    document.getElementById(q15).options.length = 0;
    for (i = 0; i < abc.length; i++) {
        createOption(document.getElementById(q15), abc[i], abc.[i]);
    }
break;

var opt = document.createElement('option');
    opt.value = value;
    opt.text = text;
ddl.options.add(opt);
/*add the "selected" attribute to options that results['abc'] == <number>*/
于 2012-08-19T14:47:05.633 に答える
0

どこ$resultsから来ていますか?ページの作成中に PHP ロジックで操作している場合は、選択項目が適切に選択されていない理由について具体的に質問していると思いますか?

<option value="1" <?php if ($results['abc']==1) echo "selected";?>>Perth</option>

実際には、選択された属性を「選択された」という値に設定する必要があります(選択した単語を単独で印刷するのではなく)。したがって、次のようになります。

<option value="1" <?php if ($results['abc']==1) echo "selected=\"selected\"";?>>Perth</option>
于 2012-08-19T15:04:02.937 に答える