入力フィールドに入力が追加されたときにボタンが表示されますが、入力を削除するとボタンが非表示になります。入力フィールドに値があるかどうかによって、ボタンが表示/非表示になります
私の唯一の解決策は、関数を2つの独立した関数に分割することです。 これは、クリック時に入力フィールドに入力を追加し、次にinput.valを追跡し、ボタンの非表示/表示エフェクトを制御する別の関数です。
それを行うより良い方法でしょうか?
$("#peopleInPopup").on('click', '.list-group-item', function() {
var peopleName = $(this).children("span").text();
var peopleID = $(this).children("span").attr("class");
var input = $("#friendsNames");
input.val(input.val() + peopleName + "");
if (input.val().length === 0) {
$("#checkButton").toggle(false);
console.log("button should NOT display");
} else {
console.log("button should display");
$("#checkButton").toggle(true);
}
$("#checkButton").click(function() {
var newParticipants = input.val();
socket.emit("addParticipantsToConversation", newParticipants);
$("#chatToInfo").append(", ", input.val());
$("#friendsNames").val("");
$(":mobile-pagecontainer").pagecontainer("change", $("#pagefour"), {
transition: "slidedown"
});
});
});
あなたは現在の問題を示すために、既存のコード、HTMLおよびその他の関連作品を投稿した場合、それは問題の我々への代替解決策を見てより多くのを助けます再現できません。 – Nope
あなたの右の@Fran、でも、入力フィールドに追加できるアイテムはプログラムによって生成されるので、質問に追加するのは複雑になります。しかし、私はあなたのポイントを間違いなく見ています – JonasSH
質問するには「それはもっと良い方法でしょうか?」ということは、あなたが見せているコードが実用的な解決策であることを意味し、それが事実なら、この問題は主に問題を解決しようとしているわけではないので、主に意見に基づいています:(実際の壊れたコードを見ることなく、あなたには推測できない解決策を与えるのは難しいです。 – Nope