下拉框触发change事件div内容对应改变且保留div里的点击事件,以下代码只要触发change事件点击事件就没用

以下是代码:index.php<?php$con=mysql_connect("localhost","root","");if(!$con){die('Couldnot... 以下是代码:
index.php
<?php
$con = mysql_connect ( "localhost", "root", "" );
if (! $con) {
die ( 'Could not connect: ' . mysql_error () );
}
mysql_select_db ( "gf", $con );
mysql_query ( "set names 'gbk'" );
$sql = "select tv_ticketno,tv_voucher_name from ticket_voucher";
$list = mysql_query ( $sql, $con );

for($i = 0; $i < mysql_num_rows ( $list ); $i ++) {
$result [$i] = mysql_fetch_assoc ( $list );
}

?>
<html>
<select id="test" name=""
onchange="change(this.options[this.options.selectedIndex].value)">
<?for($i=0;$i<count($result);$i++){ ?>
<option
value="<?= $result[$i]['tv_ticketno'].'-'.$result[$i]['tv_voucher_name']?>"><?= $result[$i]['tv_voucher_name']?></option>
<?}?>
</select>
<br>
<br>
<br>
<br>
<div id="content">
<table width="10%" border="1" cellpadding="0" cellspacing="0" >
<tr>
<td class="style"><?= $result[0]['tv_ticketno']?></td>
<td class="style"><?= $result[0]['tv_voucher_name']?></td>
</tr>
</table>
</div>

<script src="jquery.js"></script>

<script type="text/javascript">
$(document).ready(function(){

$('.style').click(function(){
alert(123);
});
})

function change(obj){

var str = obj.split('-');
$.ajax({
type: "get",
url: "test.php?a="+str[0],
success: function (data) {
var parsedData = jQuery.parseJSON(data);

$("#content").html('');
var tab = "<table width='10%' border='1' cellpadding='0' cellspacing='0'>";
tab += "<tr>";
tab += "<td class='style'>"+parsedData.tv_ticketno+"</td>";
tab += "<td class='style'>"+parsedData.tv_voucher_name+"</td>";
tab += "</tr>";
tab += "</table>";
$("#content").html(tab);
}
});

}

</script>
</html>

test.php

<?php

$a = $_GET["a"];
// $a = iconv("GBK", "UTF-8", $a);
$con = mysql_connect ( "localhost", "root", "" );
if (! $con) {
die ( 'Could not connect: ' . mysql_error () );
}
mysql_select_db ( "gf", $con );
mysql_query ( "set names 'gbk'" );
$sql = "select tv_ticketno,tv_voucher_name from ticket_voucher where tv_ticketno='".$a."'";
$result = mysql_query ( $sql, $con );

$list = mysql_fetch_assoc($result);
$tv_ticketno = urlencode(iconv("GBK", "UTF-8", $list['tv_ticketno']));
$tv_voucher_name = urlencode(iconv("GBK", "UTF-8", $list['tv_voucher_name']));
$list['tv_ticketno'] = $tv_ticketno;
$list['tv_voucher_name'] = $tv_voucher_name;
$json = urldecode(json_encode($list));
echo $json;

?>
展开
 我来答
ctw2016love
推荐于2017-11-22 · TA获得超过2441个赞
知道小有建树答主
回答量:366
采纳率:0%
帮助的人:103万
展开全部
说明你写错功能了。。
<table>
<tr>
<td>此处值通过js设置:</td>
<td><input id="jsUserName" type="text" name="jsUserName" readonly/></td>
</tr>
<tr>
<td>此处输入值:</td>
<td><input id="userName" type="text" name="userName"/></td>
</tr>
</table>
<table>
<tr>
<td>此处值通过js设置:</td>
<td><input id="jsUserName" type="text" name="jsUserName" readonly/></td>
</tr>
<tr>
<td>此处输入值:</td>
<td><input id="userName" type="text" name="userName"/></td>
</tr>
</table>

JavaScript代码:

view plaincopy to clipboardprint?
$(function()
{
var jsUserName = "";
if($.browser.msie) // IE浏览器
{
$("#userName").get(0).onpropertychange = setJsUserName;
$("#jsUserName").get(0).onpropertychange = handle;
}
else // 其他浏览器
{
var intervalName; // 定时器句柄
$("#userName").get(0).addEventListener("input",setJsUserName,false);

// 获得焦点时,启动定时器
$("#userName").focus(function(){
intervalName = setInterval(handle,1000);
});
// 失去焦点时,清除定时器
$("#userName").blur(function()
{
clearInterval(intervalName);
});
}

// 设置jsUserName input的值
function setJsUserName()
{
$("#jsUserName").val($(this).val());
}

// jsUserName input的值改变时执行的函数
function handle()
{
// IE浏览器此处判断没什么意义,但为了统一,且提取公共代码而这样处理。
if($("#jsUserName").val() != jsUserName)
{
$("#toolTip").remove();
$("#jsUserName").parent().append("<span id='toolTip'>看到这里的信息表明,通过js改变input的值也能响应相应事件:<span style="color:red;" mce_style="color:red;">" + $("#jsUserName").val() + "</span></span>");
jsUserName = $("#jsUserName").val();
}
}
});
$(function()
{
var jsUserName = "";
if($.browser.msie) // IE浏览器
{
$("#userName").get(0).onpropertychange = setJsUserName;
$("#jsUserName").get(0).onpropertychange = handle;
}
else // 其他浏览器
{
var intervalName; // 定时器句柄
$("#userName").get(0).addEventListener("input",setJsUserName,false);

// 获得焦点时,启动定时器
$("#userName").focus(function(){
intervalName = setInterval(handle,1000);
});
// 失去焦点时,清除定时器
$("#userName").blur(function()
{
clearInterval(intervalName);
});
}

// 设置jsUserName input的值
function setJsUserName()
{
$("#jsUserName").val($(this).val());
}

// jsUserName input的值改变时执行的函数
function handle()
{
// IE浏览器此处判断没什么意义,但为了统一,且提取公共代码而这样处理。
if($("#jsUserName").val() != jsUserName)
{
$("#toolTip").remove();
$("#jsUserName").parent().append("<span id='toolTip'>看到这里的信息表明,通过js改变input的值也能响应相应事件:<span style="color:red;" mce_style="color:red;">" + $("#jsUserName").val() + "</span></span>");
jsUserName = $("#jsUserName").val();
}
}
});
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式