php - Qcodo元素的开关位置

标签 php javascript css qcodo

我有一个复选框,单击它会显示一个下拉列表。我只是想让他们改变立场。

问题是当我使用 php 更改位置时,它会抛出一个 ajax 错误。由于每个都在动态 div id 中调用,我不能真正使用 CSS 来更改它。

我已经研究过在 css 中使用 nth-child 创建顶部边距,但也没有成功。

现在,复选框会切换下拉菜单的可见性,但复选框位于下拉菜单出现的位置下方。我想另一种方法是以某种方式使用 javascript ......我错过了什么吗?为什么不能调换顺序

    $ret['reclength'] = new QListBox($objParent);
    $ret['length']->Name = _sp('Item Name');

    $ret['length']->AddItem("weekly", "7");
    $ret['length']->AddItem("bi-weekly","14" );
    $ret['length']->AddItem("Monthly","30" );
    $ret['length']->Display=false;      

    $ret['checkbox'] = new QCheckbox($objParent);
    $ret['checkbox']->Name = _sp('checkbox name');
    $ret['checkbox']->AddAction(new QClickEvent(), new QToggleDisplayAction($ret['length']));

    return $ret;

最佳答案

渲染顺序将取决于您的控件父级,在您的情况下为 $objParent。如果 $objParent 是一个 QForm,那么您只需要在 QForms 模板中切换它们的顺序。但是,对于您所看到的行为,我假设 $objParent 是一个 QPanel。如果是这种情况,您将需要向 QPanel 添加一个模板,并按照您希望的顺序在该模板中呈现您的控件。您可以尝试 AutoRenderChildren = true,但这将按照控件被委托(delegate)为 QPanel 的子项的顺序呈现控件。

要使用 CSS 定位,您可能需要向控件添加一个 id。这样你就可以在你的 CSS 中引用它并避免在你的选择器中出现任何歧义。您只需要向构造函数添加第二个参数,例如

$ret['reclength'] = new QListBox($objParent, "myControlId");

只需确保 myControlId 对于该页面是唯一的。然后您可以使用#myControlId 在 css 中访问。

另一个可行的选项是在实例化 QListBox 控件时将父级设置为 $this,然后在实例化 QCheckbox 之后将 QListBox 的父级设置为 $objParent。尚未对此进行测试,但它应该可以工作。你可以在 QCubed Examples site 上看到一个 QForms 的例子。 .代码看起来像这样。请注意,这是未经测试的,但应该有效。

$ret['reclength'] = new QListBox($this);
$ret['length']->Name = _sp('Item Name');

$ret['length']->AddItem("weekly", "7");
$ret['length']->AddItem("bi-weekly","14" );
$ret['length']->AddItem("Monthly","30" );
$ret['length']->Display=false;      

$ret['checkbox'] = new QCheckbox($objParent);
$ret['checkbox']->Name = _sp('checkbox name');
$ret['checkbox']->AddAction(new QClickEvent(), new QToggleDisplayAction($ret['length']));

$ret['reclength']->SetParentControl($objParent);

return $ret; 

关于php - Qcodo元素的开关位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13555860/

相关文章:

javascript - 删除所有换行符,但只删除一个换行符?

css - 相邻 sibling 的边距折叠

javascript - 如何修复这个简单的 Accordion ,JavaScript 不工作

php - 尝试使用 PHP 脚本的 CSS 更改表格中替代行的颜色

javascript - Webpack 输出中的 "multi"是什么?

javascript - 如何禁用 html 元素的悬停事件

html - 如何删除选择下拉列表周围的虚线边框

PHP - 'SORT_LOCALE_STRING' 的排序函数返回错误结果

php - 基于键将大型关联数组转换为局部变量

php - 我对 sql 部分有困难