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

时间:2013-06-11 13:57:27

标签: javascript mootools

我试图找出当用户更改一个或两个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文本输入字段,但是50个票据选择菜单没有。我需要两个人彼此独立工作,但是当每个人都改变时,要影响ordertotal文本输入字段的值。

非常感谢任何帮助。

谢谢。

麦克

1 个答案:

答案 0 :(得分:0)

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

在这里为你创造了一个小小提琴here

$('#tickets').change(function() {
   $('#output').val($(this).val() + " - " + $('#fiftytickets').val());
});
$('#fiftytickets').change(function() {
   $('#output').val($('#tickets').val() + " - " + $(this).val());
});