我有这个:
<div ><span id="compareResult"></span> <span id="result"></span></div>
$.get(
'data.php',
{ valA: $(this,'option:selected').val() , valB:$(this,'option:selected').val()},
function(childData){
$('#result').html(childData).css('display', 'none')});>
PHP:
function getData($names,$id,$flag){
if($flag==0){
$strResult = '<select multiple class="sel" id="selectname" size='.count($names).'>';
}
if($flag==1){
$strResult = '<select multiple class="sel" id="selname" size='.count($names).'>';
}
for($i=0; $i<count($names); $i++)
{
$strResult.= '<option value='.$id[$i].'>'.$names[$i].'</option>';
}
echo $strResult.= '</select>';}
如何拆分/解析.html(childData)中的响应,以便我可以将它放在不同的范围内(即id =“compareResult”)?
提前致谢。
答案 0 :(得分:0)
这不会直接回答您的问题,但它会回答我认为的真正的问题。
如果数据来自您自己的服务器,我强烈建议您查看jQuery Taconite plugin。它让孩子通过AJAX进行多元素更新。您所要做的就是稍微改变数据传送到浏览器的格式。
说真的,看一下。
答案 1 :(得分:0)
在您html
调用更新#result
的HTML后,您将能够访问在后续调用中#result
内插入的所有内容。
例如:
$.get(
'data.php',
{ valA: $(this,'option:selected').val() , valB:$(this,'option:selected').val()},
function(childData){
$('#result').html(childData).css('display', 'none');
$('#result #someContainer').appendTo('#compareResult');
}
);
答案 2 :(得分:0)
我最近回答了一个类似的问题,但您实际上可以通过创建响应的jQuery对象来从HTML响应中获取您可能需要的任何信息。例如:
var response = $("<div>This is my element <span class='a-thing'>Thing</span></div>");
alert(response.find('.a-thing').text());
在你的回调中,你可以做同样的事情:
$.get(
'data.php',
{ valA: $(this,'option:selected').val() , valB:$(this,'option:selected').val()},
function(childData){
var result = $(childData);
alert(result.find('.some-selector').text());
}
});