2

私はこれをしばらく試してきましたが、複数選択にこれ以上オプションを追加できないようです。

ハードコードされた情報を追加しようとしても、追加されません。(MultiselectとJQueryのヘッダーは別のファイルにあります)。

ここで実際のリンクを見ることができます: http ://www.fakegaming.eu/GoT/index.php?act = selectteam&matchid = 3

<?php
$matches = new Matches();
$user = new User();
$id = $_GET['matchid'];
$matchinfo = $matches->getmatch($id);
$matchplayers = $matches->getmatchplayers($id);
?>
<script type="text/javascript">
    $(function(){
        $.localise('ui-multiselect', {/*language: 'en',*/ path: 'script/locale/'});
        $(".multiselect").multiselect();

        $("#add").click(function() {
          $('#players').multiselect('addOptions', 'Test=123');
          alert("Handler for .click() called.");
        });
    });
</script>
Kies hier 10 spelers die mee doen aan de match.<br /> <br />

<form action='index.php?act=createteam' method='post'>
    <select id="players" class="multiselect" multiple="multiple" name="players[]">
    <?php
        foreach($matchplayers as $matchplayer){
            $userinfo = $user->getuserbyid($matchplayer['user_id']);
            if($matchplayer['type'] == 0 OR $matchplayer['type'] == 2){
                $name = $userinfo['EU_username'];
                ?>
                <option value="<?= $name ?>"><?= $name ?></option>
                <?php
            }
        }

    ?>
    </select>
    <input name='name' type='text' id='name' />
    <input type='button' id="add" name="add" value="Toevoegen" />
    <input name="submit" value="Maak team" type="submit" />
</form>

私は恐らく何かひどく間違ったことをしているだけですが、良い複数選択をしてそれにいくつかの名前を追加したいだけです。

4

2 に答える 2

4

あなたはjQueryを使用していると言いますが、私はそれをほとんど使用していません...これがマルチセレクトにを追加する「jQueryの方法」<OPTION>です

$('#players').append($('<option></option>').attr('value', '123').text('345'));

属性を選択するには:

$('#players option[value="123"]').attr('selected', true);

属性の選択を解除するには:

$('#players option[value="123"]').removeAttr('selected');

オプションを削除するには

$('#players option[value="123"]').remove();

**編集**

(私はあなたの参照リンクを見ませんでした。私は答えるのに最適なはずです、私はこのウィジェットの最初の作者の一人です!)

Michael Aufreiterと私が取り組んだこのウィジェットの次のバージョンがあり、必要な機能をさらに実装しています。一部の構成では少し不安定ですが、基本的な(デフォルトの)セットアップでは十分に安定しているはずです。

あなたはここでそれを見つけることができ、あなたはオプションを介して値にアクセスすることができます:

 $('#players').multiselect('addOptions', '123=456'); // value=123, text=456

申し訳ありませんが、APIドキュメントはこれを文書化するように更新されていません。このウィジェットは実際には他の寄稿者によってサポートされており、元の作者である私たちのどちらかがこのバージョンを維持しています。

お役に立てれば。

于 2012-05-18T13:58:39.690 に答える
0

アクションにプレーヤーを送信する場合はindex.php?act=createteam、リクエストを送信する前にプレーヤーを選択していることを確認してください。

<script>
    function selectPlayers() {
        var opts = document.getElementById("players").options;
        for (var i = 0; i < opts.length; i++) {
            opts[i].selected = "selected";
        }
        return true;
    }
</script>

<form action='index.php?act=createteam' method='post' onsubmit='selectPlayers()'>
于 2012-05-18T13:39:15.813 に答える