ช่องแบบฟอร์ม“ showon” ที่มีหลายช่อง


10

ฉันมี 3 ฟิลด์ที่กำหนดในไฟล์ XML ของฉันดังนี้:

<field name="field1" type="radio" label="Field 1" class="btn-group" default="1">
    <option value="1">JYES</option>
    <option value="0">JNO</option>
</field>

<field name="field2" type="radio" label="Field 2" class="btn-group" default="1">
    <option value="1">JYES</option>
    <option value="0">JNO</option>
</field>

<field name="field3" type="radio" label="Field 3" class="btn-group" default="1">
    <option value="1">JYES</option>
    <option value="0">JNO</option>
</field>

ตอนนี้สิ่งที่ฉันต้องการจะทำก็ต่อfield3 เมื่อ แสดงfield1 และ field2ตั้งค่าเป็น1เท่านั้น

คำตอบ:


15

คุณสามารถโยงค่าคุณลักษณะของshowon, ใช้[AND], เช่น:

showon="field1:1[AND]field2:1"

อนุญาตให้เพิ่มเขตข้อมูลเพิ่มเติมลงในห่วงโซ่ได้

ในหมายเหตุด้านข้างคุณสามารถใช้[OR]ประโยคในสายโซ่ได้เช่นกันเพิ่มความซับซ้อนมากขึ้นตัวอย่างเช่น

showon="field1:1[AND]field2:1[OR]fieldX:1"

อัพเดทสำหรับ Joomla 3.7:

ในฐานะของ Joomla 3.7 คุณจะสามารถใช้!โอเปอเรเตอร์ (ไม่เท่ากับ):

showon="field1!:1"

วิธีนี้ถ้าfield1ไม่ได้เท่ากับ1


มีตัวเลือกไม่เท่ากับ showon หรือไม่?
CoalaWeb

@CoalaWeb - นั่นคือสิ่งที่มันทำอยู่แล้ว field1:1หมายความว่าfield1 == 1
Lodder

ฉันกำลังมองหาตัวเลือก! = สำหรับรายการเลือกขนาดใหญ่ / ไดนามิกที่มีเพียงหนึ่งตัวเลือกที่จะซ่อนเขตข้อมูลฟอร์มอื่นแทนที่จะเป็นรายการที่คั่นด้วยเครื่องหมายจุลภาคขนาดใหญ่ จากการวิจัยของฉันมันไม่ได้มีลักษณะเช่นนี้อยู่ฉันอาจจะดูเป็นคำขอดึง, ไชโย
CoalaWeb

คุณสามารถใช้!emptyหรือ!:*?
Eoin

1
เห็นได้ชัดว่าคุณสามารถใช้showon="foo!:"ฉันยังไม่ได้ทดสอบ ดูที่นี่: joomla.stackexchange.com/questions/21022/form-field-showonempty
Eoin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.