Я работаю над проектом для клиента, где на одной странице должно отображаться 125 выпадающих меню. Я, конечно, не собираюсь вручную добавлять все это, поэтому я написал простое выражение for
, чтобы сделать это за меня. Это работает для подавляющего большинства выпадающих меню (которые представляют собой всего лишь теги select
), но некоторые вообще не отображаются. И каждый раз одни и те же три. Почему эти же три никогда не рендерятся? При просмотре в представлении «Элементы» в Chrome Dev Tools раскрывающиеся списки отображаются как находящиеся в DOM, но они не отображаются. Я просматривал этот код снова и снова и не вижу в нем ничего плохого, и мне нужна вторая пара глаз? Что тут происходит? (ПРИМЕЧАНИЕ: db/get-all-advertisers
никогда не возвращает nil
) Вот код и изображение того, о чем я говорю:
РЕДАКТИРОВАТЬ: Оказывается, это какой-то совершенно странный баг с браузерами, графикой или чем-то еще на всех моих компьютерах с Ubuntu. Не удалось воспроизвести ошибку на Mac моего друга. Все работало нормально.
(def new-issue-html
(hiccup/html
[:html
[:head
[:title "Add an Issue"]
[:meta {:name "viewport" :content "width=device-width, initial-scale=1.0"}]
[:link {:rel "stylesheet" :href "css/bootstrap.min.css"}]
[:link {:rel "stylesheet" :href "css/extra.css"}]
[:script {:src "js/field-verify.js"}]]
(let [advertisers (db/get-all-advertisers)]
[:body
[:div {:class "container-fluid center"}
[:h1 "Add an Issue"]
(conj
[:form {:method "post" :name "newIssueForm" :action "/new-issue"}
[:div
[:label {:for "issue-date"} "Issue Time Period (i.e. \"July/August 2020\"): "]]
[:div
[:input {:id "issue-date" :name "issue-date" :style "margin-bottom: 10px;"}]]]
(for [num (range 1 (inc NUM_OF_ADVERTISERS_PER_ISSUE))
:let [ad-slot [:div
[:label {:style "margin-right: 10px;" :for (str "ad-slot-" num)} (str num ": ")]
(conj
[:select {:id (str "ad-slot-" num) :name (str "ad-slot-" num)}]
(for [advertiser advertisers
:let [option [:option {:value (:advertisers/advertiser_id advertiser)}
(:advertisers/advertiser_name advertiser)]]]
option))]]]
ad-slot)
(anti-forgery-field)
[:div {:style "margin-top: 10px;"}
(hf/submit-button {:id "submit" :onclick "return checkForm()"} "Create Issue")])]])]))
conj
звонки странные.(conj [x y] z)
это всего лишь[x y z]
. - person amalloy   schedule 16.11.2020db/get-all-advertisers
? - person Bob Jarvis - Reinstate Monica   schedule 16.11.2020