Php 使用jquery将jquery数组更新为隐藏字段
我有多个选择框。这是我的Html代码:Php 使用jquery将jquery数组更新为隐藏字段,php,jquery,html,css,codeigniter,Php,Jquery,Html,Css,Codeigniter,我有多个选择框。这是我的Html代码: <section class="container"> <div> <select id="leftValues" name="leftValues[]" size="5" multiple> <option value="a">1</option> <option value="b
<section class="container">
<div>
<select id="leftValues" name="leftValues[]" size="5" multiple>
<option value="a">1</option>
<option value="b">2</option>
<option value="c">3</option>
</select>
<input type="hidden" id="txtLeft" name=txtLeft/>
</div>
<div>
<input type="button" id="btnLeft" value="<<" />
<input type="button" id="btnRight" value=">>" />
</div>
<div>
<select id="rightValues" name=rightValues[] size="4" multiple>
<option value="x">9</option>
<option value="y">8</option>
<option value="z">7</option>
</select>
<div>
<input type="hidden" id="txtRight" name=txtRight/>
</div>
</div>
</section>
<button type="submit" id="value" class="blue">Save</button>
这是我的CSS代码:
<style>
SELECT, INPUT[type="text"] {
width: 160px;
box-sizing: border-box;
}
SECTION {
padding: 8px;
background-color: #f0f0f0;
overflow: auto;
}
SECTION > DIV {
float: left;
padding: 4px;
}
SECTION > DIV + DIV {
width: 40px;
text-align: center;
}
</style>
选择,输入[type=“text”]{
宽度:160px;
框大小:边框框;
}
部分{
填充:8px;
背景色:#f0;
溢出:自动;
}
分区>分区{
浮动:左;
填充:4px;
}
分区>分区+分区{
宽度:40px;
文本对齐:居中;
}
当您将所有代码放入dome ready方法中时,它似乎起作用
$(function () {
var left;
var right;
var newLeft;
var newRight;
var addedLeftValues = new Array();
var addedRightValues = new Array();
SaveOldValues();
function SaveOldValues() {
left = new Array();
right = new Array();
$('#leftValues .left').each(function () {
left.push($(this).val());
});
$('#rightValues .right').each(function () {
right.push($(this).val());
});
}
function UpdatedValues() {
newLeft = new Array();
newRight = new Array();
$('#leftValues .left').each(function () {
newLeft.push($(this).val());
});
$('#rightValues .right').each(function () {
newRight.push($(this).val());
});;
}
$("#btnLeft").click(function () {
var selectedItem = $("#rightValues option:selected");
$(selectedItem).attr("class", "left");
$("#leftValues").append(selectedItem);
});
$("#btnRight").click(function () {
var selectedItem = $("#leftValues option:selected");
$(selectedItem).attr("class", "right");
$("#rightValues").append(selectedItem);
});
$("#value").click(function () {
UpdatedValues();
$(newLeft).each(function (k, value) {
if ($.inArray(value, left) == -1) {
alert("new value in left is: " + value);
addedLeftValues.push(value);
$("#txtLeft").val(function (i, v) {
arr.push(addedLeftValues);
});
}
});
$(newRight).each(function (k, value) {
if ($.inArray(value, right) == -1) {
alert("new value in Right is: " + value);
addedRightValues.push(value);
$("#txtRight").val(function (i, v) {
arr.push(addedRightValues);
});
}
});
});
});
但是,您将在第54行和第64行arr.push(addDrightValues)上遇到一个新错误代码>参考错误:未定义arr
在fiddlejs上检查它代码太多。你能把它分解成你认为问题所在的部分吗?我不能把AddDrightValues数组值放在TXRight中,你可以在我程序的脚本部分找到它。在(“#值”)。在(“单击”,函数()
$(function () {
var left;
var right;
var newLeft;
var newRight;
var addedLeftValues = new Array();
var addedRightValues = new Array();
SaveOldValues();
function SaveOldValues() {
left = new Array();
right = new Array();
$('#leftValues .left').each(function () {
left.push($(this).val());
});
$('#rightValues .right').each(function () {
right.push($(this).val());
});
}
function UpdatedValues() {
newLeft = new Array();
newRight = new Array();
$('#leftValues .left').each(function () {
newLeft.push($(this).val());
});
$('#rightValues .right').each(function () {
newRight.push($(this).val());
});;
}
$("#btnLeft").click(function () {
var selectedItem = $("#rightValues option:selected");
$(selectedItem).attr("class", "left");
$("#leftValues").append(selectedItem);
});
$("#btnRight").click(function () {
var selectedItem = $("#leftValues option:selected");
$(selectedItem).attr("class", "right");
$("#rightValues").append(selectedItem);
});
$("#value").click(function () {
UpdatedValues();
$(newLeft).each(function (k, value) {
if ($.inArray(value, left) == -1) {
alert("new value in left is: " + value);
addedLeftValues.push(value);
$("#txtLeft").val(function (i, v) {
arr.push(addedLeftValues);
});
}
});
$(newRight).each(function (k, value) {
if ($.inArray(value, right) == -1) {
alert("new value in Right is: " + value);
addedRightValues.push(value);
$("#txtRight").val(function (i, v) {
arr.push(addedRightValues);
});
}
});
});
});