0

jQueryUIのオートコンプリートウィジェットを使用して、MySQLデータベースからサブジェクト名を取得しています。ユーザーがオートコンプリートリストからサブジェクトを選択したら、そのサブジェクトを#subjects_containerに追加して、fadeInで表示します。エラーを確認できませんでしたが、構文に問題があるようです。

ui.item.valueには、実際に追加したいものが含まれています

値を取得する関数:

function autocompletejq() {
$( "#autocomplete" ).autocomplete({
    source: "autocomplete.php",
    minLength: 1,
    delay: 0, 
    select: function(event, ui) {
        alert(ui.item.value);
        $( "<input class=\"added_chkboxes\" type=\"checkbox\" checked=\"checked\" />" + ui.item.value + "").appendTo( "#subjects_container" );
    }
});

}

残念ながら、チェックボックスだけが追加されています。おそらく私の連結は間違っています。

注:hide()とfadeIn()はここには表示されていません。

最終的解決

ui.item.valueをhtmlタグ(ここではタグ)でラップし<span>ます。

function autocompletejq() {
$( "#autocomplete" ).autocomplete({
    source: "autocomplete.php",
    minLength: 1,
    delay: 0, 
    select: function(event, ui) {
        alert(ui.item.value);
        $( "<input class=\"added_chkboxes\" type=\"checkbox\" checked=\"checked\" /><span>" + ui.item.value + "</span>" ).appendTo( "#subjects_container" ).hide().fadeIn();
    }
});

}

4

1 に答える 1

0

エフェクト部分について:

$("<p>My new Content</p>").appendTo("#myWrapper").hide().fadeIn();

オブジェクトの作成について:「ui.item.value」をhtmlタグ(スパンなど)で囲む必要があると思います。

全体として、私はsthを試してみます。このような:

var newHTML = '<input class="added_chkboxes" type="checkbox" checked="checked" />' +      
    '<span>ui.item.value</span>';
$(newHTML).appendTo("#subjects_containe").hide().fadeIn();

ダミーの例を次に示します。http://jsfiddle.net/SunnyRed/dB2uT/

お役に立てれば。

于 2011-07-11T19:40:21.620 に答える