【发布时间】:2015-03-14 21:01:31
【问题描述】:
我正在使用 php simple html dom 生成下拉输入。我有一些来自数据库的值,根据它们,我会将“选定”值添加到我的 select->option dom 元素中。
<select name="myDropDown" id="someID">
<option value="someValue1">Value1Value</option>
<option value="someValue2">Value2Value</option>
<option value="someValue3">Value3Value</option>
</select>
这是默认设置。我想像这样增加价值,请检查选项 2:
<select name="myDropDown" id="someID">
<option value="someValue1">Value1Value</option>
<option value="someValue2" selected>Value2Value</option>
<option value="someValue3">Value3Value</option>
</select>
同时我想使用我的插件。
<?php
$html = new simple_html_dom();
$html->load('
<select name="myDropDown" id="someID">
<option value="someValue1">Value1Value</option>
<option value="someValue2">Value2Value</option>
<option value="someValue3">Value3Value</option>
</select>
');
echo $html;
?>
直到这里一切都很好。是的,现在我需要将 selected 插入到我的第二个选项中。我不知道如何使用 PHP Simple HTML DOM 做到这一点,或者我在文档中遗漏了一些东西:http://simplehtmldom.sourceforge.net/manual.htm#section_access
到目前为止,我已经尝试过并在我的 php 部分中遇到了很多错误:
<?php
$html = new simple_html_dom();
$html->load('
<select name="myDropDown" id="someID">
<option value="someValue1">Value1Value</option>
<option value="someValue2">Value2Value</option>
<option value="someValue3">Value3Value</option>
</select>
');
//here's where i'm trying to reach the child nodes :
$ret = $html->getElementById('someID');
$ret->children(2)->GOTTADOSOMETHINGHEREANDIREALLYDUNNO;
echo $html;
?>
顺便说一句,如果你能提供另一种简单的方法来做到这一点,我将不胜感激。
提前谢谢你!
【问题讨论】:
-
无法理解这里需要使用
simple_html_dom -
在这里查看:simplehtmldom.sourceforge.net/manual.htm#section_access 首先我需要创建这个插件的实例,然后我用它生成 dom。我为什么要使用它:因为我不想在我的项目的这一部分中使用 javascript。
-
是的,但你真的需要使用
simple_html_dom吗?没有它你也可以这样做 -
@GonsaloSousa 是的,我可以用 javascript 做到这一点,否则它们将被修复,我需要根据我从 db 获得的值更改所选值。
-
也许你让问题复杂化了,
$db_value = SOMETHING; echo '<option value="someValue2" '.(($db_value==SOMETHING)?' selected':'').'>Value2Value</option>';。这可以帮助您在不使用simple_html_dom的情况下获得结果。
标签: javascript php jquery html dom