X-editable不会检查已检查的核对表值

时间:2017-07-04 20:47:16

标签: javascript php jquery laravel x-editable

大家好。在我正在使用的Laravel应用程序中,我使用X-editable库进行内联编辑选项。我有一个多对多关系表(数据透视表),我需要更新。为此,我尝试使用X-editable 核对清单选项,如文档中所示:checklist

我面临的问题是每当我点击其中一个值来编辑核对清单对话框时弹出,但我没有选中我点击的值。这是一张更能说明这一点的图片:

checklist image

从图片中可以看出,要检查的值是高级初中初级,但它们不会被检查我无法弄清楚原因。

这就是我的观点:

<td>
    <!-- If a subject belongs to a division or divisions list all the divisions
    that belongs to the subject -->
    @if(count($subject->divisions))
        @foreach($subject->divisions as $division)

            <a href="#" data-type="checklist" data-value="{{$division->id}}" data-title="Select divisions" data-name="division" class="division" data-pk="{{$division->id}}" role="button">
                <span class="badge label-primary">{{$division->name}}</span>
            </a> 

        @endforeach
    @endif
</td>

控制器:

 public function index(Request $request)
{
    //

    if ($request->ajax()) {
        $divisions = Division::all();

        return $divisions->pluck('name', 'id')->toArray();
    }
    //return view('division.show', compact('divisions'));
}

脚本:

$('#subjects').editable({
    mode:'popup',
    container:'body',
    selector:'a.division',
    type:'checklist',
    source: function () {
        // body...
        var result;


        $.ajax({
            url: '/divisions',
            type: 'GET',
            async: false,
            global  : false,
            dataType:'json',
            success: function (data) {
                // body...

                console.log(data);

                result = data;

            }
        })
        .done(function(data) {
            console.log("success");
        })
        .fail(function(data) {
            console.log("error");
            console.log(data);
        });

        return result;
        console.log(result);

    }
});

来源:

enter image description here

1 个答案:

答案 0 :(得分:1)

以下代码是Xeditable site上使用的示例。

<a href="#" id="options" data-type="checklist" data-pk="1" data-url="/post" data-title="Select options"></a>


<script>
$(function(){
    $('#options').editable({
        value: [2, 3],    
        source: [
              {value: 1, text: 'option1'},
              {value: 2, text: 'option2'},
              {value: 3, text: 'option3'}
           ]
    });
});
</script>

“值:[2,3]”是相关部分。

现在,链接中的data-value语句看起来会生成值文本,而没有javascript数组的语法。