PHP 简单 HTML DOM 和下拉元素选择选项
PHP Simple HTML DOM and Dropdown Element Selected Option
我正在使用 php 简单 html dom 生成下拉输入。我有一些来自数据库的值,根据它们,我会将 'selected' 值添加到我的 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 简单 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 而不是简单的模板文件(PHP)?
<select name="test" <?php if($selected){echo 'selected'}?> />
或者更好的 Smarty。
<select name="test" {if $selected}selected{/if} />
Simple_html_dom 是一个 class 用于解析复杂的 html 文档,例如交换图像 url 或类似的东西。我看不出您需要使用此 class 的任何理由。
只需进行最少的研究,您就可以自己解决这个问题。
$ret->children(2)->selected = true;
用于使用简单 HTML DOM
获取下拉元素选择选项
试试这个简单易行的方法
$element = $html->find('#selectIDGoesHere',0)->find('option');
foreach($element as $elemen) {
echo "Display text:".($elemen->plaintext)."<br>";
echo "value:".($elemen->value)."<br>";
}
我正在使用 php 简单 html dom 生成下拉输入。我有一些来自数据库的值,根据它们,我会将 'selected' 值添加到我的 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 简单 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 而不是简单的模板文件(PHP)?
<select name="test" <?php if($selected){echo 'selected'}?> />
或者更好的 Smarty。
<select name="test" {if $selected}selected{/if} />
Simple_html_dom 是一个 class 用于解析复杂的 html 文档,例如交换图像 url 或类似的东西。我看不出您需要使用此 class 的任何理由。
只需进行最少的研究,您就可以自己解决这个问题。
$ret->children(2)->selected = true;
用于使用简单 HTML DOM
获取下拉元素选择选项
试试这个简单易行的方法
$element = $html->find('#selectIDGoesHere',0)->find('option');
foreach($element as $elemen) {
echo "Display text:".($elemen->plaintext)."<br>";
echo "value:".($elemen->value)."<br>";
}