0

我有两个输入字段,Id 和 Desc。我需要一个 javascript,它根据已经设置的一些字段在第二个文本字段中输入值。就像圣诞节一样,如果输入 12/25,它应该说圣诞节。

它为一个价值工作。但是,如果我输入“else if”,则它不适用于多个值。

<script type="text/javascript">
$(document).ready(function() { 
    $('#holidayDate').datepicker(); 
    var availableTags = ["New years Day", "Martin Luther King Day", "Groundhog Day", "Valentine's Day", "Washington's Birthday", "Easter", "Earth Day", "National Arbor Day", "Mother's Day", "Memorial Day", "Flag Day", "Father's Day", "Independence Day", "Labor Day", "Columbus Day", "Halloween", "Veterans Day", "Thanksgiving Day", "Pearl Harbor Remembrance Day", "Christmas Day"]; 
    $("#tags").autocomplete({source:availableTags}); 
    $('#holidayDate').change(function() { 
        if ($(this).val().substring(0, 5) === '12/25') { 
            $('#tags').val('Christmas Day'); 
        }else if ($(this).val().substring(0, 5) === '01/01') { 
            $('#tags').val('New years Day'); 
        } else { 
            $('#tags').val(''); 
        }                
    }); 
}); 
</script>
4

3 回答 3

2

首先,您可以将它们组合成一个 DOM 就绪事件。此外,您的一些代码在事件之外,所以这可能就是它不起作用的原因。

$(function() {
    $('#date').datepicker();
    var availableTags = ["Christmas Day","etc"];
    $("#tags").autocomplete({source:availableTags});
    $('#date').change(function() {
        if ($(this).val().substring(0, 5) === '12/25') {
            $('#desc').val('Christmas');
        } else {
            $('#tags').val('');
        }
    });
});

更新:希望这只是一个写得不好的例子,但你给定的 HTML 也是非常无效的。请注意,您正在打开<div>标签然后关闭<p>标签,以及其他问题,例如<head>在打开正文之前未关闭标签等。所有这些问题都可能阻止 javascript 正常运行。

于 2010-07-12T21:28:25.910 回答
0

我相信你在这行中遗漏了一个撇号

$('#desc).val('Christmas');

它应该读

$('#desc').val('Christmas');
于 2010-07-12T21:33:52.677 回答
0

也许你应该这样做:

<DIV class="ui-widget">Date: <INPUT TYPE="TEXT" name="xx" property="xx" id="date" /></P>
<input type="text" id="desc" name="desc"/>
<script>
$('#date').change( function() { 
    if ($(this).val().substring(0, 5) === '12/25') { 
        $('#desc').val('Christmas'); 
    } 
});   
</script>
</body>

我认为您的 onchange 事件没有被注册。

问候, 萨蒂亚吉特

于 2010-07-12T21:49:43.517 回答