以下のコードで呼び出しているjQuery関数があります。この関数は、「QAList」の「words:」領域に表示されている単語を検索し、それらの単語だけを太字にします。これはこのコードで正常に機能しており、「デモ」と「または」という単語は太字になっています。
$("[id$=QAList]").wrapInTag({
words: ['Demo User', 'or'],
tag: '<selected>'
});
現在、ラベルまたはテキストボックスから「words:」リストを渡そうとしていますが、何らかの理由で正しい情報を渡せず、実際に何が渡されているかを100%確認できません。
これは、lblSelectedQAラベルからプルするようにコードを変更した方法です。
$("[id$=QAList]").wrapInTag({
words: [$("[id$=lblSelectedQA]").html()],
tag: '<selected>'
});
ラベルが何らかの理由で機能しなかった場合に備えて、テキストボックスから試してみました。
$("[id$=QAList]").wrapInTag({
words: [$("[id$=lblSelectedQA]").val()],
tag: '<selected>'
});
ラベルとテキストボックスをアラートに入れると、必要なものが表示されます。次のように返されます。
「デモユーザー」、「または」
他の場所から値を渡そうとしているので、「words:」の後に間違った構文がありますか?
ありがとう!
**以下のiurisilvioの回答に応じて編集してください
'Demo User', 'or'
あなたの答えに応えて、私は一重引用符と余分なスペースを取り除くためにテキストを入力するものの両方でコードを少し変更しました。これで、次のようにDemo User,or
なります。単一の結果で正常に機能します。
次に、インデックス[0]または[1]を追加すると、配列内の値の1つに対して機能する.split( "、")を追加しようとしましたが、すべての配列項目に対してスタンドアロンではありません。
Utkanosは基本的に同じことを示していますが、スペースと一重引用符を削除する方法を追加するだけで、これ以上行う必要はありません。
これは、単一の結果に対して機能する私のコードです。
$("[id$=QAList]").wrapInTag({
words: [$("[id$=lblSelectedQA]").html().split(",")],
tag: '<selected>'
});
ただし、複数の結果が返される場合は、インデックスを追加しないと機能しませんが、ハードコーディングしたインデックスに対してのみ機能します...この配列にいくつあるかわからないため、オプションではありません。
$("[id$=QAList]").wrapInTag({
words: [$("[id$=lblSelectedQA]").html().split(",")[0]],
tag: '<selected>'
});
また
$("[id$=QAList]").wrapInTag({
words: [$("[id$=lblSelectedQA]").html().split(",")[1]],
tag: '<selected>'
});
ループすることなくすべての配列アイテムを取得する方法はありますか?
ありがとう!
**解決策のために編集:
追加したものの周りに角かっこをドロップする必要がありました。私はそれを理解して戻ってきました、そしてUtkanosはちょうど同じことを投稿しました:)
作業コード:
$("[id$=QAList]").wrapInTag({
words: $("[id$=lblSelectedQA]").html().split(","),
tag: '<selected>'
});
ありがとう!!