0
我已動態創建多個選擇列表。點擊頻道名稱時,應該顯示其類型。問題是一旦點擊選擇列表,它會反覆調用導致ajax加載多次的java腳本函數。
HTML代碼:動態創建的選擇列表使多功能調用javascript函數
<td>
<SELECT name="channel_name[]" onclick ="get_type(this)"; required class='channelname'>
<option value="">Select...</option>
<?php foreach($channel_list as $row) {
$channelid = $row['channelid'];
$channelname = $row['channelname'];
if($U_channelid==$channelid)
{
$s = "selected = selected";
}
else
{
$s = "";
}
echo "<option value='$channelid' $s>".$channelname."</option>";
?>
<!-- <OPTION value='<?php echo $channelid ?>' $s ><?php echo $channelname?></OPTION> -->
<?php } ?>
</SELECT>
</td>
JavaScipt程式碼:
function get_type()
{
$(".channelname").live("change", function() {
var channel_id = $(this).find("option:selected").attr("value");
var _this = $(this); //Save current object
alert(channel_id);
$.ajax({
type: "POST",
url: '<?php echo base_url(); ?>index.php/partner/get_channel_type',
data: 'channelid='+channel_id,
async: false
}).done(function(data1) {
if(data1){
_this.closest("tr").find('input[name="type[]"]').val(data1);
}else{
alert("Channel type is not defined");
_this.closest("tr").find('input[name="type[]"]').val("");
}
});
});
}
感謝。我在選擇代碼和$(「。channelname」)中保留了get_type(this)。在javascritpt函數中改變(function(){它現在工作了 – Arti
ajax處理需要10秒來加載數據。 – Arti