Score:0

การควบคุมการมองเห็นฟิลด์แบบเลื่อนลงโดยใช้ #states API สำหรับแบบเลื่อนลงที่ขึ้นต่อกัน

ธง cn

ฉันมีการตั้งค่าต่อไปนี้

dropdown_one

[
    '#type' => 'เลือก',
    '#title' => $this->t('เมนูแบบเลื่อนลง'),
    '#options' => $dropdownOneOptions,
    '#empty_option' => '---',
    '#น้ำหนัก' => 1,
    '#อาแจ็กซ์' => [
      'เหตุการณ์' => 'เปลี่ยนแปลง',
      'callback' => [$this, 'getDropdownTwoOptions'],
      'wrapper' => 'แบบเลื่อนลงสอง',
      'ความคืบหน้า' => [
        'type' => 'throbber',
      ]
    ]
    '#name' => 'dropdown_one',
]

dropdown_two

[
    '#type' => 'เลือก',
    '#title' => $this->t('ดร็อปดาวน์ 2'),
    '#ตัวเลือก' => [],
    '#empty_option' => '---',
    '#น้ำหนัก' => 2,
    '#อาแจ็กซ์' => [
      'เหตุการณ์' => 'เปลี่ยนแปลง',
      'callback' => [$this, 'getDropdownThreeOptions'],
      'wrapper' => 'ดร็อปดาวน์สาม',
      'ความคืบหน้า' => [
        'type' => 'throbber',
      ]
    ]
    '#name' => 'dropdown_two',
    '#prefix' => sprintf('<div id="%s">', 'แบบเลื่อนลงสอง'),
    '#suffix' => '</div>',
    '#รัฐ' => [
      'ล่องหน' => [
        ':input[name="dropdown_one"]' => ['value' => ''],
      ]
    ]  
]

dropdown_สาม

[
    '#type' => 'เลือก',
    '#title' => $this->t('รายการแบบหล่นลงสามรายการ'),
    '#ตัวเลือก' => [],
    '#empty_option' => '---',
    '#น้ำหนัก' => 3,
    '#name' => 'dropdown_three',
    '#prefix' => sprintf('<div id="%s">', 'ดรอปดาวน์-สาม'),
    '#suffix' => '</div>',
    '#รัฐ' => [
      'ล่องหน' => [
        ':input[name="dropdown_two"]' => ['value' => ''],
      ]
    ]  
]

ตัวเลือกฟิลด์ที่เลือกของดร็อปดาวน์ 2 และดรอปดาวน์ 3 จะได้รับการอัปเดต/ตั้งค่าผ่านการโทรกลับ AJAX ที่เกี่ยวข้องด้วย คำสั่ง HTML().

$response = ใหม่ AjaxResponse();
$wrapper_id = $triggeringElement['#ajax']['wrapper']; // 'แบบเลื่อนลงสอง' หรือ 'แบบเลื่อนลงสาม'
$response->addCommand(new HtmlCommand("#$wrapper_id select", $html)); // $html = "<option value='foo'>แถบ</option>...";

ฉันกำลังพยายามหาสาเหตุที่กรณีนี้ใช้ไม่ได้:

ให้เลือกตัวเลือกที่ไม่ว่างเปล่าในเมนูแบบเลื่อนลง
และรายการดรอปดาวน์สองจะปรากฏขึ้น
และตัวเลือกที่ไม่ว่างเปล่าถูกเลือกในเมนูแบบเลื่อนลงที่สอง
และรายการแบบเลื่อนลงสามจะปรากฏขึ้น
เมื่อฉันเลือกตัวเลือกว่างในตัวเลือกแบบเลื่อนลง
จากนั้นไม่ควรแสดงดรอปดาวน์สองและดรอปดาวน์สาม

น่าเสียดายที่เมื่อฉันเรียกใช้ชุดการดำเนินการนี้ เมนูแบบเลื่อนลงสามยังคงมองเห็นได้ และฉันไม่สามารถเข้าใจได้ว่าเพราะเหตุใด

ฉันจะขอบคุณมากถ้ามีคนสามารถช่วยได้

โพสต์คำตอบ

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