如何通过从选项值中选择来乘以输入文本值

时间:2014-06-29 10:30:18

标签: javascript jquery html

我想知道如何通过从标签中选择来增加元素值?

例如我有<input type='text' value='9'>文字标记或<span>9</span>标记,我想通过选择选项标记来乘以其值 同样

<select name="" id="">
    <option value="1">1/month</option>
    <option value="2">2/month</option>
    <option value="3">3/month</option>
    <option value="6">6/month</option>
    <option value="12">12/month</option>
</select>

并且我还希望以下选项值在选择以下任何选项时分配上述选项标记,例如选择<option value="9">basic</option>时上面的第一个选项值应该看起来像<option value="9">1/month</option>和接下来如此,它的值应该乘以if 1/month 9*1 if 2/month 9*2 if 3/month 9*3 if 6/month 9*6等等。我还想将这些选项值显示在输入标记或span标记中。 知道如何做到这一点? 非常感谢提前。

<select name="" id="">
  <option value="9">basic</option>
  <option value="19">standard</option>
  <option value="29">professional</option>
  <option value="59">enterprise</option>
</select>

1 个答案:

答案 0 :(得分:1)

您需要了解的事项,change事件,data属性,.next()功能和.text()功能

你的HTML,

<select name="test" id="test">
    <option value="1">1/month</option>
    <option value="2">2/month</option>
    <option value="3">3/month</option>
    <option value="6">6/month</option>
    <option value="12">12/month</option>
</select>

<span data-val="9">9</span>

JS,

$('#test').change(function(){
   var span = $(this).next('span');
   span.text(span.data('val') * parseInt(this.value,10))
});

DEMO