0

こんにちは、データベースの結果を一覧表示する html テーブルがあります。すべてのデータベース アイテムには、値アイテム ID を持つセルフ チェックボックスがあります。

<td> <input type="checkbox" id="row" value="<?php echo $this->escapeHtml($item->id);?>"> </td> 

今、私は1つ以上のチェックされた項目とその値を取り、最後のパラメータのように私のURLに入れたいと思っています.

<a onclick="return Form.deleteItem(this);" href="<?php echo $this->url('phonebook', array('action'=>'edit', 'id' => '1'));?>">
    <?php echo $this->escapeHtml('Edit');?>
</a> 

このようなURLに値を追加したい。

http://www.example.com/edit/1

したがって、ユーザーが1つの項目をチェックして編集をクリックすると、最後のパラメータのようにその値をURLに入れる方法

私はこれを試しますが、うまくいきません:

deleteItem: function(obj) {
    $('input[type=checkbox]').change(function(e){
        e.preventDefault();
        if ($("#row").is(':checked')) {
            //read line
            var queryString = $("#row").val();
            // Loop 
            var s = $("#row").siblings();
            $.each(s, function() {
                // see if checked
                if ($("#row").is(":checked")) {
                    queryString += 'OR' + $("#row").val();
                }
            });

            console.log(queryString);

            // Append to url 
        }
    });

},
4

2 に答える 2

0

insertusernamehere は完全に正しいです。HTML が無効であり、jQuery 関数は「行」の ID を持つ最初のチェックボックスのみを返します。次に例を示します。

HTML:

Row Checkboxes: <br />
<input id="row" type="checkbox" name="checkboxOne" value="yes" />
<input id="row" type="checkbox" name="checkboxTwo" checked="checked" value="yes" />
<br />
Test checkboxes:<br />
<input id="test" checked="checked" type="checkbox" name="checkboxThree" value="yes" />
<input id="test" type="checkbox" name="checkboxFour" value="yes" />

JS:

//returns false, because it gets the value of only the first #row checkbox
console.log($('#row').is(':checked'));

//returns true, because it only gets the checked attribute of the first #test checkbox
console.log($('#test').is(':checked'));

//only returns the first #row box
console.log(document.getElementById('row'))

フィドルを参照してください:http://jsfiddle.net/Br85c/1/

于 2013-08-31T16:26:43.403 に答える
0

私はあなたが正しいことを願っています。これを実現する方法の例を次に示します。このコードは、選択されたすべての値をカンマ区切りでeditまたはdeleteルートに追加します。

HTML

<label><input class="row" type="checkbox" value="1"> 1</label>
<label><input class="row" type="checkbox" value="2"> 2</label>
<label><input class="row" type="checkbox" value="3"> 3</label>
<label><input class="row" type="checkbox" value="4"> 4</label>

<a class="action" href="http://www.example.com/edit/">Edit</a> 
<a class="action" href="http://www.example.com/delete/">Delete</a> 

JavaScript

$('a.action').click(function() {
    var v = $('input.row:checked').map(function () { return this.value; }).get().join(',');

    $(this).attr('href', $(this).attr('href') + v);
});

値をマッピングして結合するコードは、この回答からのものです。

デモ

購入前にお試しください

于 2013-08-31T16:13:43.507 に答える