我知道之前曾多次询问过这个问题,但我确实经历了4个小时的解决方案,无法找到针对我的具体问题的解决方案。
我在Laravel刀片编辑视图上有一个select2选择字段,我想将它的值设置为传递给视图的数据。将数据传递给视图已经发生,并且使用选择字段也没有问题,它完全正常。但是我一直在尝试的每一次尝试都未能成功。我一直在用一个按钮来设置选择字段的值,但每次修改
var canInTheHat = {
someMethod: function() {
console.log(this); // => catInTheHat
$.each(['a', 'b'], function() {
console.log(this); // => iteration 1: 'a', iteration 2: 'b'
});
},
someOtherMethod: function() {
console.log(this); // => catInTheHat
$.each(['a', 'b'], function() {
console.log(this); // => iteration 1: catInTheHat, iteration 2: catInTheHat
}.bind(this)); // notice the bind
}
}
未能做到这一点。它总是传输“?id = null”。我很感激有人对此有所启发,因为如果没有这个我就无法继续下去。我在下面添加了重要的代码部分,如果您还需要更多代码,请回复。提前谢谢!
选择HTML:
$("select[name=customer]").val("1");
选择二
<label>*Customer</label>
<select class="form-control" name="customer" id="customer" style="width: 100%">
<option></option>
</select>
按钮:
$("select[name=customer]").select2({
allowClear : true,
placeholder : "Choose customer",
ajax : {
url : "/search/autocomplete/get_customers",
dataType : 'json',
type : "GET",
quietMillis : 50,
delay : 250,
data : function(params) {
return {
filter : params.term
};
},
processResults : function(data) {
return {
results : $.map(data, function(item) {
return {
text : item.name + ' (' + item.customer_code + ')',
id : item.id
}
})
};
},
initSelection : function (element, callback) {
var data = [];
$(element.val()).each(function () {
data.push({id: this, text: this});
});
callback(data);
}
}
});
功能测试():
<button type="button" onclick="test()">Test</button>
我一直在尝试对此进行多项更改,例如:
function test() {
$("select[name=customer]").val("1");
};
列表继续。
如果我没有提供重要的内容,请给我留言或重播!
祝你好运
尼克
答案 0 :(得分:1)
首先,您应该使用<?php
echo substr('-1', 0, 1); // will result in "-"
?>
检查选择器是否正确。这次使用单引号作为属性名称。 console.log();
select[name='customer']
如果它传递0,则选择器错误。如果你遇到复杂的css选择器问题,你应该只使用ID。
如果jquery选择器正确但发生错误,则很可能是因为您通过ajax获取值而不等待回调/成功。利用jQuery的ajax成功功能。
var select = $("select[name='customer']");
console.log(select.length);
你可以尝试这样的事情。
$.ajax({
url: '...',
success: function(response) {
test();
}
});