0

ユーザーが特定のオプション(データベースから提供)を1つの値のみ選択した場合、他のオプションタグが表示され、他のすべてのオプションに対して他のオプションを選択するように表示されます。ユーザーは値を入力するためのテキストボックスを持っています。以下のようなもの-

     <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」elseテキストボックスを選択して状態を入力するselectタグを表示したい。

4

1 に答える 1

1

選択したオプションをテストする onChange イベント ハンドラーを JavaScript で記述し、ドロップダウンまたはテキスト ボックスを動的 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>

疑似コードを許してください - 過度に長くしたくありませんでした。

于 2012-07-26T17:01:36.857 に答える