从动态选择框中获取价值

时间:2015-10-05 09:51:01

标签: javascript jquery json ajax

我在更改选择框后通过ajax自动提交表单...

这是选择框:

<select id="parent:<?php echo $subject[0]['id']; ?>" contenteditable="true" style="padding:7px;">
<?php 
    foreach ($subject_list as $item) {
?>
<option value="<?php echo stripslashes($item['id']); ?>"><?php echo stripslashes($item['name']); ?></option>
<?php } ?>
</select>

这是提交和回显一些JSON的代码......

$(function(){
 $('.select_change').change(function(){
        $( ".form-errors" ).hide(); //Hide errors
        var field_id = $(this).attr("id") ;
        var value =  $(this).value() ;
        $.post('data/SUBJECTS_edit.php' , field_id + "=" + value, function(data){
            if(data.validation != 1)
            {
                $( "#" + data.fieldName + "\\:" + data.subjectID ).show().effect('highlight', {color: '#c0ffb9'}, 1500); // Show green fade
                $( "#" + data.fieldName + "_msg\\:" + data.subjectID ).hide(); //Hide errors
                $('#' + data.subjectID + '-' + data.fieldName).html(data.value); // Change data in list
            }else{
                $( "#" + data.fieldName + "\\:" + data.subjectID ).show().effect('highlight', {color: '#e29292'}, 1500); //Show red fade
                $( "#" + data.fieldName + "_msg\\:" + data.subjectID ).show(); // Show error DIV
                $( "#" + data.fieldName + "_msg\\:" + data.subjectID ).text(data.response); // Input text into error DIV
            }
        });
    });
});

除了之外,每件事情都可以正常工作......

fieldName: "parent"
original: "0"
response: "Details Updated"
status: 200
subjectID: "1"
validation: null
value: "Art\n   English\n   Zoology\n   Mathematics\n   Design"

选择文本而不是值,并选择列表中的所有项目而不是选中的项目。

我确定这里有一些javascript我不知道但我还没弄明白

2 个答案:

答案 0 :(得分:0)

不理我。新手的错误。我没有将select_change类应用于选择框!现在工作

答案 1 :(得分:0)

您可以使用

var value = $(this).val()

或替代是

$('.select_change option:selected').val();