在处理事件后停止运行jquery

时间:2014-04-05 09:20:15

标签: jquery html ajax

我有一个单选按钮,可以在点击时启动jquery脚本。点击后,我渲染一个表格,我希望用户输入评论。 Evrything工作正常,检测到事件并呈现表单但是当我单击表单字段时,它似乎再次运行我的jquery脚本并且我得到了未定义的变量。

这是我的单选按钮

<div class="switch">
      <input type="radio" class="switch-input" name="view<?php echo $data['id'];?>" 
      value="Yes" id="yes<?php echo $data['id']; ?>" 
      data-comment="<?php echo $comment_state;?>" data-val=1>
      <label for="yes">Yes</label>
      <input type="radio" class="switch-input" name="view<?php echo $data['id'];?>" 
      value="No" id="no<?php echo $data['id']; ?>" <?php echo $neutral; ?>
      data-opinion="<?php echo $comment_state;?>" data-val=0>
      <label for="no" >No</label>
      <span class="switch-selection"></span>
</div>
<div id="form<?php echo $data['id']; ?>"> </div>    // where I render the form after click

这是jquery脚本

$('[id^="yes"], [id^="no"])').click(function(e) {


            var comment = $(this).data('comment');   // comment= 0 because not selected
            var val = $(this).data('val');           // val = 1 if I click yes
            var parameter = $(this).attr('name');    // parameter = view + id number
            parameter = parameter.replace('view','');

            if (comment ==0){   // New record
                $.ajax( 
                {

                    url : 'post/comment',
                    type: "POST",

                    success:function(data, textStatus, jqXHR) 
                        {
                            $(".switch input:radio").attr('disabled',true);
                            $("#form"+ parameter).html(data);   
                        },
                    error: function(jqXHR, textStatus, errorThrown) 
                        {
                            alert("error");
                        }
                });
            }
    });

这是呈现的表单

<div class="row">
     <label for="MyComment" class="required">Comment <span class="required">*</span></label>       
     <input size="60" maxlength="140" name="MyComment" id="Post_comment" type="text" />  
</div>

当我单击字段表单或其他地方时,我收到错误TypeError:参数未定义 (在jquery脚本中)

有什么想法吗?

提前谢谢

1 个答案:

答案 0 :(得分:0)

而不是:

$('[id^="yes"], [id^="no"])').click(function(e) {

尝试:

$("input.switch-input:radio").click(function(e) {