尝试弄清楚如何使用javascript在表单的文本框中动态生成文本。
我想从下拉列表中选择一种事件类型,并在该选择中将值输入到eventprice的表单的文本框中。
到目前为止,这就是我所拥有的,但我没有在文本框中产生任何值得任何帮助的价值。
function totalprice(){
if($('#type').val() == '3'){
$('#eventprice') == ("45");
}
}
<input type="text" disabled="" id="eventprice" onChange="totalprice();" name="eventprice" class="form-input" />
答案 0 :(得分:2)
如果你不介意使用jQuery,那将是轻而易举的:你只需要为每个选项添加数据属性价格。这个功能的作用是:
工作演示:http://jsbin.com/acuyux/6/edit
HTML
<select id="type">
<option data-price="25">Party</option>
<option data-price="35">Meeting</option>
<option data-price="45">Lounge</option>
</select>
<input type="text" id="eventprice" name="eventprice" disabled="" class="form-input" />
JS
$('#type').change(function totalprice(){
$('option').each(function() {
if($(this).val() === $('#type').val()) {
$('#eventprice').val($(this).data('price'));
}
});
});
答案 1 :(得分:1)
由于其高效的代码,我建议使用jQuery。
HTML:
<input type="text" disabled id="eventprice" />
<select id="select">
<option data-cost="5">Event 1</option>
<option data-cost="10">Event 2</option>
</select>
jQuery:
$('#select').change(function () {
var str = $(this).find('option:selected').data('cost');
$('#eventprice').val(str);
});
// This code can be used to run it on load
// $('#select').trigger('change');
行动准则:
http://jsfiddle.net/LkaWn/
希望这会有所帮助:)
答案 2 :(得分:0)
根据建议将代码的第3 /第4行修改为$('#eventprice').val("45");
,但建议的语法错误除外。