我的问题是我需要用php制作可靠的类别,但我希望他们从txt文件中选择任何想法,我怎么能做到这两个? 我们的想法是,他们在第一个下拉菜单中选择一个类别,然后在第二个选择一个类别,但我希望类别能够使用txt文件进行更改。 任何建议都是真正的贬义! 感谢你的时间! 这是我所做的一个想法
<tr>
<td height="67" align="right">ΚΑΤΗΓΟΡΙΑ</td>
<td><label>
<select name="ΚΑΤΗΓΟΡΙΑ" id="ΚΑΤΗΓΟΡΙΑ" class="update" >
<option value="ΚΟΙΝΟΧΡΗΣΤΑ" selected="selected">ΚΟΙΝΟΧΡΗΣΤΑ</option>
<option value="ΘΕΡΜΑΝΣΗ">ΘΕΡΜΑΝΣΗ</option>
<option value="ΑΝΕΛΚΥΣΤΗΡΑΣ">ΑΝΕΛΚΥΣΤΗΡΑΣ</option>
<option value="ΕΙΔΙΚΕΣΔΑΠΑΝΕΣ">ΕΙΔΙΚΕΣ ΔΑΠΑΝΕΣ</option>
<option value="ΙΔΙΟΚΤΗΤΩΝ">ΙΔΙΟΚΤΗΤΩΝ</option>
</select>
<select name="ΚΑΤΗΓΟΡΙΑ2" id="ΚΑΤΗΓΟΡΙΑ2" class="update" disabled="disabled">
<option value="ΘΥΡΩΡΟΣ" selected="selected">ΘΥΡΩΡΟΣ</option>
<option value="ΕΙΔΗΚΑΘΑΡΙΟΤΗΤΑΣ" selected="selected">ΕΙΔΗ ΚΑΘΑΡΙΟΤΗΤΑΣ</option>
</select>
</label></td>
</tr>
答案 0 :(得分:1)
试试这个:代码注释足以自我解释
<?php
$list1 = file("/path/to/options1.txt");/// read the first options list file
$selectedOption = $list1[0]; // default selected value is the first option as written in the code snipet above
if( isset($_GET["option1"]) && !empty( $_GET["option1"] ) ) {
$selectedOption = urldecode( $_GET["option1"] ) ; // if the user changed the selection we update the second list
}
$list2 = file("/path/to/{$selectedOption}.txt");/// read the second options file based on the first element in the first list (since it will be the default selected value)
$currentUrl = "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
?>
<script type="text/javascript">
function load(){
location.href = "<?php echo "$currentUrl";?>" + "?option1=" + document.getElementById("option1").value ;
}
</script>
<tr>
<td height="67" align="right">ΚΑΤΗΓΟΡΙΑ</td>
<td><label>
<select name="option1" id="option1" class="update" onchange="javascript:load()" >
<?php
foreach( $list1 as $_ ){
$selected = "";
if( trim( $selectedOption == trim( $_ ) ) )
$selected = "selected=\"selected\"";
echo "<option value=\"". urlencode( $_ ) ."\" $selected >$_</option>\n";
}
?>
</select>
<select name="option2" id="option2" class="update">
<?php
$selected = "selected=\"selected\"";
foreach( $list2 as $_ ){
echo "<option value=\"". urlencode( $_ ) ."\" $selected >$_</option>\n";
$selected = ""; // only the first element will be marked as selected
}
?>
</select>
</label></td>
</tr>