我有一个选择列表,每个选项在其ID中包含一个类别($ k [3])。
<select name="page_from_link" class="my_select_list" >
<OPTION VALUE="" >With:</OPTION>
<?php foreach($pages_created as $k) {
$i=0; ?>
<OPTION id="<?php $i."-".$k[3]; ?>" class="pages_created" VALUE="<?php echo $k[0]; ?>" ><?php echo $k[1]; ?></OPTION>
<?php } ?>
</select>
我有另一个选择列表,其中隐藏了所有选项,具体取决于先前的选择类别:
AS:
$ v){?&gt;
“&gt;
我的jquery脚本不起作用,你会怎么做?
$(document).ready(function(){
$(".my_select_list").change(function(){
var array = $(this).find('option:selected').attr('id').split('-');
var cat = array[1];
alert("cat");
$("#cat_"+cat).show();
$(".pages_created_option:not(#cat_"+cat).hide();
return false;
});
});
答案 0 :(得分:1)
$(this > option).attr(...
=&gt; $(this).find('option:selected').attr (...
alert("cat");
=&gt; alert(cat);
$("#cat_"+cat+")").show();
=&gt; $("#cat_"+cat).show();
你应该考虑使用firebug或chrome内部开发工具(在F12上)。
在旁注中,您可能希望使用optgroup而不是虚拟选项:
<select name="page_from_link" class="my_select_list" >
<OPTGROUP label="With:">
<?php foreach($pages_created as $k) {
$i=0; ?>
<OPTION id="<?php $i."-".$k[3]; ?>" class="pages_created" VALUE="<?php echo $k[0]; ?>" ><?php echo $k[1]; ?></OPTION>
<?php } ?>
</OPTGROUP>
</select>
答案 1 :(得分:0)
您可以使用php脚本或带编码数据的js脚本,保存innerHTML并根据您在上一个选择框中选择的内容更改父对象的innerHTML(例如div)。 / p>
答案 2 :(得分:0)
将此添加到javascript的头部
function showsel()
{if(document.getElementById('parentid').value=="id of the option that will triger the shild ")
{document.getElementById('shild id').style.display="inline";}
else {document.getElementById('shild id').style.display="none";}
}
然后为shild添加
div id="shild id" style="display:none"
和父母
div id="parent id" onchange"showsel()"