1

以下のコードがあるとしましょう。ドロップダウンから選択した値に応じて、その値に関連付けられたチェックボックスが表示されます。この部分は問題なく動作しますが、フォームを送信するときに ajax 呼び出し ( process.php) からのデータが読み込まれないことを除きます。ビューソースに表示されないため、それらを含めることができません<form></form>

JavaScript

$(document).ready(function() {
    $('#dropdown').change( function() {
        $('#output').load('/process.php',{dropdown: $(this).val()});
    });
});

HTML

<form method="post" id="myform">
<select id="dropdown" name="dropdown">
    <option value="QU">QU</option>
    <option value="QF">QF</option>
    <option value="QC">QC</option>
</select>

<div id="output"></div>
<button type="submit">Continue</button>
</form>

ところで、私は次のことも試しました。

$(document).ready(function() {
    $('#dropdown').live("change", function() {
        $('#output').load('/process.php',{dropdown: $(this).val()});
    });
});

process.php のスニペット

フォーム送信でチェックボックスの値を使用できないことを除いて、結果は問題なく表示されます。

foreach($new as $r) {
    $svn_tag = rtrim($r['current_tag'], '/');
    echo "<tr>";
    echo "<td><label class='checkbox'><input name='tag[{$r['name']}]' type='checkbox' value='{$r['name']}'  /></label></td>";        
    echo "<td class='primary'>". ucfirst($r['name']) . "</td>";
    echo "<td class='primary'><input type='text' name='revision[{$r['name']}]' value='{$svn_tag}'></td>";
    echo "<td><input type='hidden' name='docroot[{$r['name']}]' value='{$r['docroot']}'></td>";
    echo "</tr>";
}

これを簡単にしましょう。process.php以下を表示するだけに変更しました。フォームの送信時に含まれないことを除けば、問題なく表示されることを覚えておいてください。

<input type="checkbox" name="tag" value="test">

ボックスにチェックを入れて [続行] ボタンをクリックすると失敗します。つまり、の値はtag次のメソッドに渡されません。output基本的にソースを表示すると、 div内には何も表示されません。

4

0 に答える 0