0

IdとDescの2つの入力フィールドがあります。すでに設定されているフィールドのいくつかに基づいて、2番目のテキストフィールドに値を入力するJavaScriptが必要です。クリスマスの日と同じように、12/25と入力すると、クリスマスの日と表示されます。

1つの値で機能します。しかし、「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

まず、これらを1つの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イベントは登録されていないと思います。

よろしく、Satyajit

于 2010-07-12T21:49:43.517 に答える