如果用户选择级联该选项的特定选项,则删除带有文本输入的选择标记

时间:2012-07-26 16:45:06

标签: php mysql options

我想如果用户选择某个选项(从数据库提供)只有一个值,那么另一个选项标签似乎为其他所有其他选项选择其他用户有文本框输入值。类似下面的东西 -

     <tr>
      <td><span class="alert">* </span>Country:</td>
      <td><select name="country_id" class="medforminput" id="country_id" onchange="getState('select_state.php?country_id='+this.value)">
     <option value="Select Country">Select Country</option>
      <?php
       while($row4=mysql_fetch_array($coun1))
        { ?>
        <option value="<?php echo $row4['country_id']; ?>">
<?php echo $row4['country_name']; ?></option>
    <?php }?>
    <option value="others">Others</option>
     </select></td>
    </tr>
    <tr>
    <td><span class="alert">* </span>State</td>
<?php
if($row4['country_name']=="INDIA")
{?>
    <td id="statediv"><select name="state_id" class="medforminput" id="state_id" onchange="getCity('select_city.php?state_id='+this.value)">
    <option value="">Choose State</option>
     </select></td>
<?php else {
<td id="statediv"><input type="text" name="state_id" class="medforminput" id="state_id"/>
</td>
<?php }?>
     </tr>

我的概念中没有任何错误? 我想显示选择标签,用户选择“INDIA”其他文本框进入状态。

1 个答案:

答案 0 :(得分:1)

您需要在javascript中编写一个onChange事件处理程序来测试所选的选项,然后在动态div中显示下拉列表或文本框。

我将使用jQuery,因为它的代码少了很多。

示例:

<select name="country_id" class="medforminput" id="country_id" >
<!-- options go here -->
</select>

<script language="javascript">
    $("#country_id").change(function() {
        if ($(this).val() == 'India') { // put the country id here instead of string comparison
            $("#stateInput").html(getStates());
        } else {
            $("#stateInput").html("<input type='text' id='stateId' name='stateId' />");
        }
    });
</script>

请原谅伪代码 - 我不想让它过长。