1

次のような2つの選択ボックスがあります。

<select name="template" id="template">
        <option value="" selected>--Select--</option>
            <option value="HOME">Home</option>
            <option value="HELP">How We Help</option>
            <option value="CONTACT">Contact Us</option>
            <option value="ABOUT">About Us</option>
</select>

<select name="location" id="location"">
    <option value="" selected>--Select--</option>
            <option value="header">Header</option>
            <option value="center">Center</option>
            <option value="footer">Footer</option>
    </select>

問題は、2 番目の選択ボックスで、お問い合わせテンプレートにのみ中心位置が必要になることです。他のすべてのテンプレートのセンター オプションを非表示にする方法は?

4

4 に答える 4

4

コードの残りの部分を知らなくても、単純な PHP (フレームワークなし) を前提としています。

<select name="location" id="location"">
<option value="" selected>--Select--</option>
        <option value="header">Header</option>
        <?php if ($template == 'contact_us'):?>
        <option value="center">Center</option>
        <?php endif;?>
        <option value="footer">Footer</option>
</select>

現在のテンプレート タイプをテストする単純な if ブロックで center オプションをラップすると、読み込まれたページに基づいて値を表示または非表示にすることができます。

フレームワークを使用している場合は、これを行うためのより良い方法がある可能性がありますが、単純な PHP を使用している場合は、私が提案した方法が機能します。

于 2013-04-08T09:16:12.020 に答える
1

これを試して:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ></script>
<script>
    $(document).ready(function(){
        $('#template').change(function(){
            var template = $(this).val()
                ,option = $('#container > select > option');
            if(template=="CONTACT")
                $('#location > option[value="header"]').after(option.clone());
            else
                $('#location > option[value="center"]').remove();
        }).change();
    });
</script>
<select name="template" id="template">
    <option value="" selected>--Select--</option>
    <option value="HOME">Home</option>
    <option value="HELP">How We Help</option>
    <option value="CONTACT">Contact Us</option>
    <option value="ABOUT">About Us</option>
</select>
<select name="location" id="location">
    <option value="" selected>--Select--</option>
    <option value="header">Header</option>
    <option value="footer">Footer</option>
</select>
<div id="container" style="display: none">
    <select>
        <option value="center">Center</option>
    </select>
</div>
于 2013-04-08T09:30:36.587 に答える
1

1) センターオプションを非表示: jsfiddle here

2) PHP でオプション値を設定する:

  • <option value="header"></option>と置き換えます<option value="<?php include('myScript.php') ?>"></option>
  • 次にmyScript.phpで、echo "newValue";
于 2013-04-08T09:18:47.927 に答える