1

私はJavaScriptでROMI(マーケティング投資回収率計算機)を構築しようとしています。誰かが私が間違っていることを教えてくれれば幸いです。フォームから値を取得し、それを「leadGeneration」に渡して、以下の式を使用して操作し、出力「msRomi」をテキストボックスに表示しようとしています。私はWeb開発者ではなく、マーケティングアナリストであるという免責事項を追加したいと思います。そのため、不当な誤りや初心者の誤りについてお詫び申し上げます。私は周りを見回しましたが、このサイトといくつかのチュートリアルサイトのリソースに基づいて、このコードは有効であるはずです(たまたまそうではありません)。私が間違っていることや修正方法を教えてください。 ?

var leadGeneration = $("leadGeneration");
var conversionTools = $("conversionTools");
var brandRecognition = $("brandRecognition");
var loyalityBuilding = $("loyalityBuilding");
var marketingSpending = $("marketingSpending");


var deltaLg = 375;
var deltaCt = 75;
var deltaBr = 93.75;
var deltaLb = 56.25;
var totalPms = 100000;

var msPercent = parseFloat(marketingSpending) / parseFloat(totalPms);

var lgromi= (((msPercent * (leadGeneration)) * parseFloat(deltaLg) * (2280) / ((parseFloat(msPercent) * (parseFloat(leadGeneration)))
var ctRomi= ((msPercent) * (conversionTools)) * parseFloat(deltaCt) * (2280) / ((parseFloat(msPercent) * (parseFloat(leadGeneration)))
var brRomi= ((msPercent) * (brandRecognition)) * parseFloat(deltaBr) * (2280) / ((parseFloat(msPercent) * (parseFloat(leadGeneration)))
var lbRomi= ((msPercent) * (loyalityBuilding)) * parseFloat(deltaLb) * (2280) / ((parseFloat(msPercent) * (parseFloat(leadGeneration)))

var msRomi= parseFloat(lgRomi) + parseFloat(ctRomi) + parseFloat(brRomi) + parseFloat(lbRomi)

HTML

<div class="marketingSpending" style="align: center">Marketing Spending:</div>
<input type="range" name="marketingSpending" min="5000" max="100000" step="1000" style="width: 70px">
</div>


<div class="inputForm" id="calcValues" style="align: right">
<form id="romiForm">

<div class="percentName" style="align: left">Lead Generation:</div>
<form action="" class="percentSelection">
<select name="leadGeneration" id="leadGeneration">
<option value="10" selected>10%</option>
<option value="20">20%</option>
<option value="30">30%</option>
<option value="40">40%</option>
<option value="50">50%</option>
<option value="60">60%</option>
<option value="70">70%</option>
<option value="80">80%</option>
<option value="90">90%</option>
<option value="100">100%</option>
</select>
</form>

<div class="percentName" style="align: right">Conversion Tools:</div>
<form action="" class="percentSelection">
<select name="conversionTools" id="conversionTools">
<option value="10" selected>10%</option>
<option value="20">20%</option>
<option value="30">30%</option>
<option value="40">40%</option>
<option value="50">50%</option>
<option value="60">60%</option>
<option value="70">70%</option>
<option value="80">80%</option>
<option value="90">90%</option>
<option value="100">100%</option>
</select>
</form>

<div class="percentName">Brand Recognition:</div>
<form action="" class="percentSelection">
<select name="brandRecognition" id="brandRecognition">
<option value="10" selected>10%</option>
<option value="20">20%</option>
<option value="30">30%</option>
<option value="40">40%</option>
<option value="50">50%</option>
<option value="60">60%</option>
<option value="70">70%</option>
<option value="80">80%</option>
<option value="90">90%</option>
<option value="100">100%</option>
</select>
</form>

<div class="percentName">Customer Loyalty:</div>
<form action="" class="percentSelection">
<select name="customerLoyalty" id="customerLoyalty">
<option value="10" selected>10%</option>
<option value="20">20%</option>
<option value="30">30%</option>
<option value="40">40%</option>
<option value="50">50%</option>
<option value="60">60%</option>
<option value="70">70%</option>
<option value="80">80%</option>
<option value="90">90%</option>
<option value="100">100%</option>
</select>
</form>


</form>
</div>
4

1 に答える 1

5

要素は、idまたはによって選択する必要がありclassます。HTMLを見ずにどちらにする必要があるかはわかりませんが、推測しますid

var leadGeneration = $("#leadGeneration"); ...

#要素のid属性を示していることに注意してください。また、@ bfavarettoのコメントは正しいです。私たちが作成しているこれらのjQueryオブジェクトには、コンテンツの値よりもはるかに多くのものが含まれているため、通常の計算を行うことはできません。これらのオブジェクトから値を抽出する例は次のようになります。

var leadGenerationVal = leadGeneration.val()

または、ページ上のオブジェクトで他に何もしたくない場合は、jQueryオブジェクトを作成するのと同じ行で値を抽出できます。

var leadGeneration = $("#leadGeneration").val();

上記のコード行を例にとると、スクリプトの残りの部分を機能させることができるはずです。

于 2013-02-15T22:12:26.080 に答える