Score:1

เปลี่ยนสถานะของฟิลด์ช่องทำเครื่องหมาย

ธง pe

ฉันรู้วิธีใช้เงื่อนไขกับ Form API สำหรับช่องต่างๆ เช่น ช่องข้อความ ช่องทำเครื่องหมาย เช่น การแสดงหรือซ่อนช่องเมื่อช่องทำเครื่องหมายถูกทำเครื่องหมาย

$form['โลเร็ม'] = [
  '#type' => 'ช่องทำเครื่องหมาย',
  '#attributes' => [
    'ชื่อ' => 'field_lorem',
  ]
];

$รูปแบบ['ipsum'] = [
  '#type' => 'ช่องทำเครื่องหมาย',
  '#รัฐ' => [
    'มองเห็นได้' => [
      ':input[name="field_lorem"]' => ['ตรวจสอบแล้ว' => จริง]
    ]
  ]
];

อย่างไรก็ตาม ฉันไม่สามารถจัดการกับฟิลด์ช่องทำเครื่องหมายได้

// รหัสนี้ใช้ไม่ได้
$form['โลเร็ม'] = [
  '#type' => 'ช่องทำเครื่องหมาย',
  '#attributes' => [
    'ชื่อ' => 'field_lorem',
  ]
];

ตัวเลือก $ = [
  'test_1' => 'ทดสอบ 1',
  'test_2' => 'ทดสอบ 2',
];

$รูปแบบ['ipsum'] = [
  '#type' => 'ช่องทำเครื่องหมาย',
  '#options' => $ตัวเลือก,
  '#รัฐ' => [
    'มองเห็นได้' => [
      ':input[name="field_lorem"]' => array('checked' => จริง)
    ]
    // ตามหลักการแล้ว ฉันต้องการทำเครื่องหมายในช่องทำเครื่องหมายทั้งหมด แต่ปัญหาส่วนใหญ่อยู่ที่ระดับสถานะ
    'ตรวจสอบแล้ว' => [
      ':input[name="field_lorem"]' => ['checked' => TRUE],
    ]
  ]
];

ฉันสามารถทำได้ด้วยโค้ด JavaScript ที่กำหนดเอง แต่ฉันต้องการทำด้วย API ของแบบฟอร์ม

อะไร #รัฐ ฉันจำเป็นต้องมีคุณสมบัติเพื่อให้บรรลุเป้าหมายนี้หรือไม่

sanzante avatar
ph flag
สิ่งนี้ตอบคำถามของคุณหรือไม่ [ใช้ #states ในแบบฟอร์มที่มีช่องทำเครื่องหมาย](https://drupal.stackexchange.com/questions/290079/using-states-in-a-form-with-checkboxes)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา