其實我有一些問題,但我會從主要的一個開始。我想在JSON的基礎上設置選擇框的值。根據JSON結果設置選擇框的選項
這裏是有問題的HTML,
<label class="lbl">Office: </label>
<select tab-index="6" class="required" name="office" class="off">
<option value="">---------</option>
<option value="U">London</option>
<option selected="selected" value="R">Delhi</option>
<option value="W">Lisbon</option>
</select>
JSON發送它這個樣子,我不能顯示完整的JSON,因爲它太大了,但我會告訴一個部分,Location: "U"
。
這裏的JS部分:
if (data.Office === "R") {
$('select option[value="Delhi"]').prop('selected', true);
}
if (data.Office === "U") {
console.log('here');
$('.off option[value="London"]').attr('selected', 'selected');
}
if (data.Office === "W") {
$('select option[value="Lisbon"]').prop('selected', true);
}
但它不工作?任何人都可以指出爲什麼?
此外,我有一個經理名單說,我也得到了在JSON。所以,我這樣做,
for (var i = 0; i < data.Managers.length; i++) {
find_input = $('input[name="project_manager[]"').length;
if (find_input != data.Managers.length) {
$('<input type="text" name="project_manager[]" class="" value="" />').appendTo('#managers');
}
console.log(data.Managers[i].Manager);
$('input[name="project_manager[]"').each(function() {
$(this).val(data.Managers[i].Manager);
});
}
文本框的不依賴於管理人員的數量,但只設置最後一個項目,從管理者的文本框的數組附加價值。爲什麼?
而且我不能夠設置的textarea
值在Firefox這樣的:
$('textarea#some_id').val(data.Description);
它可以在Chrome雖然。
您是否缺少'<?括號之一的選項是僅僅是一個錯字? –
另外,你似乎在混合'attr'和'prop'調用。你應該使用'prop'作爲'selected'標誌 –
它在Firefox上運行良好,原因必須是別的。對於你的問題的第一部分,你的意思是不工作?你可以給JS小提琴嗎? –