使用PHP使用Javascript选择选项值
好的,这是我的代码。我正在尝试使用Javascript从PHP中选择一个选择列表值(我不想用PHP直接选择,因为这对我的特定程序不起作用) 代码如下:使用PHP使用Javascript选择选项值,php,javascript,Php,Javascript,好的,这是我的代码。我正在尝试使用Javascript从PHP中选择一个选择列表值(我不想用PHP直接选择,因为这对我的特定程序不起作用) 代码如下: ECHO '<script type="text/javascript"> var pl = document.getElementById("cultpicklist"); pl.options[37].selected = true; </script>'; 以下是相关的HTML: <fieldse
ECHO '<script type="text/javascript">
var pl = document.getElementById("cultpicklist");
pl.options[37].selected = true;
</script>';
以下是相关的HTML:
<fieldset><label for="culture">Culture:</label>
<select name="culture[]" multiple="multiple" id="cultpicklist"><?php
while ($cultrow = mysql_fetch_array($rescult)) {
ECHO '<option name="culture[]" value="'. stripslashes($cultrow['cult_id']) .'">'. stripslashes($cultrow['cult_desc']) .'</option>';
}
?>
</select></fieldset>
文化:
以下是生成的HTML代码:
<select id="cultpicklist" multiple="multiple" name="culture[]">
<option value="36" name="culture[]">test1</option>
<option value="37" name="culture[]">test2</option>
<option value="38" name="culture[]">test3</option>
<option value="39" name="culture[]">test4</option>
</select>
测试1
测试2
测试3
测试4
你可能是本末倒置。在浏览器中呈现DOM元素之前,不能使用JavaScript来操作这些元素
将脚本放在HTML之后,或者在运行脚本之前检查DOM是否已就绪。您可能是本末倒置。在浏览器中呈现DOM元素之前,不能使用JavaScript来操作这些元素
将脚本放在HTML之后,或者在运行脚本之前检查DOM是否已就绪。为什么不首先使用JQuery
$('#cultpicklist').val('myvaluetoselect');
更易于编码、阅读和工作,而不是使用笨重的老式javascript…为什么不首先使用JQuery
$('#cultpicklist').val('myvaluetoselect');
更易于编码、阅读和工作,而不是使用笨重的老式javascript…使用jQuery,您仍然可以将代码放在
标记之间。因此,您可以在整个文档呈现之后执行代码。使用jQuery,您仍然可以将代码放在
标记之间。因此,您可以在整个文档呈现后执行代码。选项的索引不是选项的值。当您使用pl.options[37]
时,您告诉JS要在中获得第三十七个选项
,请选择,而不是带有值的选项
试试这个:
<script type="text/javascript">
var pl = document.getElementById("cultpicklist");
for(var i=0; i<pl.options.length;i++) {
if(pl.options[i].value == "") { // Between the quotes you place the comparison value!
pl.options[i].selected = true;
}
}
</script>
var pl=document.getElementById(“cultpicklist”);
对于(var i=0;i而言,选项的索引不是选项的值。当您使用pl.options[37]
时,您告诉JS在选择中获得第三十七个选项,而不是带有值的选项
试试这个:
<script type="text/javascript">
var pl = document.getElementById("cultpicklist");
for(var i=0; i<pl.options.length;i++) {
if(pl.options[i].value == "") { // Between the quotes you place the comparison value!
pl.options[i].selected = true;
}
}
</script>
var pl=document.getElementById(“cultpicklist”);
对于(var i=0;i确保代码在创建选择列表后执行。它应该是。它位于底部,仅在按下按钮时运行。确保代码在创建选择列表后执行。它应该是。它位于底部,仅在按下按钮时运行。我的脚本在我的HTML之后。此脚本位于在HTML呈现之后的e页面。非常正确,ohhhh我在加载DOM之前放置JS的次数太多了。那是在Jquery存在之前,tho:)好的,请发布您的HTML以便我们可以查看。我的脚本在我的HTML之后。这个脚本在HTML呈现后位于页面底部。非常正确,ohhhh我在加载DOM之前放置JS了很多次。那是在Jquery存在之前。tho:)好的,请发布您的HTML以便我们查看。尽量不要使用任何外部脚本,因为我不确定它们是否被允许或需要。@MathieuDumoulin jquery很棒,但不笨重?醒醒吧,就要编写的代码量而言,您自己笨重,确保31kb的缩小版jquery下载起来相当笨重,但有助于简化工作。比谢谢你指出你对我的答案理解得有多糟糕。我很高兴能启发你。嘿,请不要打架?我非常想解决这个问题,而不是成为一个讨论纯Javascript或jQuery是否更好的论坛。我听到了反复的争论。尽量不使用任何外部脚本,因为我不确定它们是否被允许或希望使用d、 @MathieuDumoulin jquery很棒,但不笨重?醒醒吧,在编写代码的数量方面,你自己笨重,当然31kb的jquery缩小版下载起来相当笨重,但有助于让事情变得更简单。感谢你指出你对我的答案理解得有多糟糕。我很高兴启发你。嘿,请不要打架?我深深地理解了为了解决这个问题,ant并不是一个讨论纯Javascript或jQuery是否更好的论坛。我已经听过反复的争论。