1

プロジェクトの開発に MVC4 と HTML5 を使用しています。select タグとオプションを宣言しました。各オプションには独自の値があります。オプションを選択すると、その値がアラートに表示されます。

<select name="select" onchange="drawOption(this)">
    <option value="">--- Cizgi Tipi Seçiniz ---</option>
    <option value="">--- Basit Semboller ---</option>
    <option value="new esri.symbol.SimpleMarkerSymbol();">Default</option>
    <option value="new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_SQUARE, 10, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID,new dojo.Color([210, 105, 30, 0.5]), 8), new dojo.Color([210, 105, 30, 0.9]))" >Square</option>
</select>

JavaScript では、この値を使用してオブジェクトを作成し、var 変数に代入したいと考えています。関連する関数 (drawOption 関数ではありません。いくつかの関数の後に addGraphic 関数がトリガーされます):

function addGraphic(pt) {
    var idx = element.selectedIndex;
    alert(element.options[idx].value);
    var symbol = element.options[idx].value;
    // var symbol = new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_SQUARE, 10, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([210, 105, 30, 0.5]), 8),
    //new dojo.Color([210, 105, 30, 0.9]));
    graphic = new esri.Graphic(pt, symbol);
    map.graphics.add(graphic);
}

アラートでは、値を確認できます。ただし、シンボル変数には代入しません。私はそれを文字列として割り当てるので、新しいオブジェクトを作成できないと思います。

この問題を解決するには?

4

1 に答える 1

0

定義されている場所が見えないので、わかりelementにくいです。symbol文字列を、つまりに割り当てていると思います"new esri.symbo...."

たぶん使用eval (...)すると役立ちますか?(セキュリティ上の問題に注意してください!)

よろしく、のび

于 2013-09-09T10:06:02.860 に答える