新用户和第一个问题.. 我使用嵌套的each()来解析XML字符串。我找到了我要查找的节点并更改了属性的值,但原始的xml字符串保持不变。
下面的XML和JQuery。在代码中查找警报以查看更新发生的位置。毕竟每个人都玩过原来的xml字符串就是这样吗?我做错了什么?
由于
XML:
<Test TestID="712" UserID="1231230192831039812">
<Question id="713">
<AnswerSet id="718" type="5">
<AnswerSetOption id="740" IsChecked="Foo" />
<AnswerSetOption id="741" IsChecked="Foo" />
<AnswerSetOption id="742" IsChecked="Foo" />
</AnswerSet>
<AnswerSet id="719" type="5">
<AnswerSetOption id="740" IsChecked="Foo" />
<AnswerSetOption id="741" IsChecked="Foo" />
<AnswerSetOption id="742" IsChecked="Foo" />
</AnswerSet>
<AnswerSet id="720" type="5">
<AnswerSetOption id="740" IsChecked="Foo" />
<AnswerSetOption id="741" IsChecked="Foo" />
<AnswerSetOption id="742" IsChecked="Foo" />
</AnswerSet>
</Question>
</Test>
剧本:
function TrackResponse(QuestionID, AnswerSetID, AnswerSetOptionID, InputType) {
var xml;
xml = $('#_uiCheckingAnswersHidden').val();
$(xml).find('Question').each(function () {
var xmlQuestionID = $(this).attr('id');
$(this).find('AnswerSet').each(function () {
var xmlAnswerSetID = $(this).attr('id');
$(this).find('AnswerSetOption').each(function () {
var xmlAnswerSetOptionID = $(this).attr('ID');
var checkedValue = $(this).attr('IsChecked');
if (InputType == 'radio') {
if (QuestionID == xmlQuestionID && AnswerSetID == xmlAnswerSetID && AnswerSetOptionID == xmlAnswerSetOptionID) {
alert('Found it');
var oldValue;
oldValue = $(this).attr('IsChecked');
alert('Old value: ' + oldValue)
$(this).attr('IsChecked', 'Bar');
var newValue;
newValue = $(this).attr('IsChecked');
alert('New value: ' + newValue)
}
else {
$(this).attr('IsChecked', 'pp');
}
}
//Checkbox -- if not found updated Checked Attribute to ''
if (InputType == 'check') {
var checked = $(this).attr('IsChecked');
if (QuestionID == xmlQuestionID && AnswerSetID == xmlAnswerSetID && AnswerSetOptionID == xmlAnswerSetOptionID) {
if (checked == 'true') {
$(this).attr('IsChecked', 'dd');
}
else {
$(this).attr('IsChecked', '');
}
}
}
});
});
});
alert(xml);
}
答案 0 :(得分:0)
您可以执行上述所有操作并通过引用访问原始DOM元素,也可以使用.html(xml)或其他内容替换或附加当前内容的XML内容。