使用带有Javascript的两个选择菜单动态更新文本输入字段

使用带有Javascript的两个选择菜单动态更新文本输入字段,javascript,mootools,Javascript,Mootools,我试图弄清楚当用户更改一个或两个HTML选择菜单中的选项时,如何动态更新文本输入字段。我在下面包含了我的代码,显示了它当前的工作方式 $('tickets').addEvent('change', function() { if($('tickets').value > 0) { var cells = $$('.ticket2'); cells.each(function(cell) { cell.setAttribute('style',

我试图弄清楚当用户更改一个或两个HTML选择菜单中的选项时,如何动态更新文本输入字段。我在下面包含了我的代码,显示了它当前的工作方式

$('tickets').addEvent('change', function() {
    if($('tickets').value > 0)
    {
        var cells = $$('.ticket2');
        cells.each(function(cell) { cell.setAttribute('style','display:none;');});
        var cells = $$('.ticket3');
        cells.each(function(cell) { cell.setAttribute('style','display:none;');});
        var sumValue = '$' + (100 * $('tickets').value + 10 * $('fiftytickets').value) + '.00';
        $('ordertotal').value = sumValue;
        $('ticket1heading').setHTML('Ticket(s)');
    } else {
        var cells = $$('.ticket2');
        cells.each(function(cell) { cell.setAttribute('style','');});
        var cells = $$('.ticket3');
        cells.each(function(cell) { cell.setAttribute('style','');});
        $('ticket2heading').setAttribute('style','text-align:center; font-weight:bold;');
        $('ticket3heading').setAttribute('style','text-align:center; font-weight:bold;');
        $('ordertotal').value = '$' + 250 + '.00';
        $('ticket1heading').setHTML('Ticket 1');
    }
});
票证选择菜单正确影响ordertotal文本输入字段,但fiftytickets选择菜单不影响。我需要这两个独立工作,但当每一个都改变时,会影响ordertotal文本输入字段的值

非常感谢您的帮助

多谢各位


Mike

正如JoDev所说,select元素的对象是用$('tickets')引用的,而不仅仅是$('tickets')。 另外,我认为jquery中没有select元素的value属性。 可以使用val()函数获取值

在这里为你做了一把小小提琴


$('fiftytickets')
似乎在DOM中有一个
元素。。。否则,请参阅jQuery选择器,并使用类似于
$('#elementId')
的内容。不要犹豫,在Mootools
$('elementId')
中创建一个Fiddle@JoDev是正确的语法。@OP:我不确定您拥有哪些元素,以及您试图实现什么。如果你制作一把小提琴来演示这个问题,我很乐意看一看。@NielsKeurentjes很抱歉我的困惑!谢谢你纠正我…@NielsKeurentjes我对代码做了一些调整,使其正常工作,但我相信它可以被重写或优化,因为它看起来很凌乱,而且我的Javascript技能也缺乏。您可以在这里查看我的Javascript-1,问题是标记为MOOTOOLS,而不是JQUERY。实际上,除了jQuery还有其他Javascript库,您甚至可以在不使用jQuery的情况下编写Javascript。Mootools中的
$('tickets')
语法绝对正确。
$('#tickets').change(function() {
   $('#output').val($(this).val() + " - " + $('#fiftytickets').val());
});
$('#fiftytickets').change(function() {
   $('#output').val($('#tickets').val() + " - " + $(this).val());
});